Например, предположим, что у меня есть метод, который принимает следующее в качестве параметра:Как узнать тип, указанный выражением?
Expression<Func<T, object>> path
Как определить тип «объекта», указанного в выражении? В частности, я хотел бы определить, является ли это типом коллекции (например, IEnumerable
)
Вывод типа позволит вам опустить два общих параметра типа при вызове метода, предполагая, что TArg является типичным параметром типа, используемым объявляющим классом - как в 'классе SomeClass {...}'. –
Charles
typeof (IEnumerable) .IsAssignableFrom (typeof (TProperty)) получает DanP остальную часть пути. –
Спасибо Carles и Kirk - это именно то, что я * должен был делать :) – DanP