Допустим какая-то вроде этого:Получить пользовательские атрибуты выражение: форма Лямбда
public static IQueryable<T> Find<T>(IQueryable<T> query, string value, params Expression<Func<T, object>>[] subSelectors) where T : class
{
foreach (var include in subSelectors)
{
var entityType = include.Body.Type.GetGenericArguments().First();
var properties = from p in entityType.GetProperties()
where Attribute.IsDefined(p, typeof(FilterAttribute))
select p;
}
}
Этот метод вызывается из другой сборки, Exemple вызов этого метода:
var container = new List<MyClass>();
var q = (from m in container
select m).AsQueryable();
SimpleFilter.Find(q, "something", m => m.Navigation);
Для параметра T нормально я вижу мой пользовательский атрибут. Но сформируйте выражение лямбда, которое я не вижу в моем пользовательском атрибуте.
btw ... 'entityType' проще, чем' typeof (T) 'здесь, нет? –