내 프로그램에는 System.Linq.Expressions.Expression
개체 목록이 있습니다. 이 목록에는 다양한 유형의 특정 Expression
이 포함될 수 있습니다. 예를 들어, BinaryExpression
, ConditionalExpression
등 (https://msdn.microsoft.com/en-us/library/system.linq.expressions.expression(v=vs.110).aspx 참조). 이 목록을 읽을 때 Expression
의 특정 유형 (BinaryExpression
, ConditinalExpression
등)을 확인하고 싶습니다.System.Linq.Expressions.Expression 개체의 형식을 가져옵니다.
파생 된 Expression
클래스의 이름/유형을 얻으려면 어떻게해야합니까?
UPDATE
다음식의 목록의 정의 : 표현 얻을
IEnumerable<Expression<Func<T, object>>> Expressions { get; }
및 코드 :
foreach (var expression in test.Expressions)
{
var test = expression.GetType().ToString(); //System.Linq.Expressions.Expression`1[System.Func`2[TestObject,System.Object]]
}
GetType()을 사용해 보셨습니까? 그것은 당신에게 어떤 객체의 정확한 런타임 유형을 줄 것이다. 식과 함께 작동해야합니까 –
시도했습니다. 그것은 내게 "System.Linq.Expressions.Expression" – Palmi
코드 예제를 보여 줬습니다. 또한 "is"연산자를 사용할 수 있습니다. 'yourObj is BynaryExpression'입니다 - 부울 결과를 줄 것입니다 –