У меня есть статический класс с именем Mod с статической функцией Map:лямбда-выражение в атрибуте
public static class Mod<TModel>
{
public static string Map<TValue>(Expression<Func<TModel, TValue>> expression)
{
throw new Exception("Not implemented");
}
}
Я могу выполнить метод, как это (без проблем):
var test = Mod<string>.Map<string>(x => x.ToLower());
У меня есть атрибут с строковым параметром на его конструкторе:
public class MyTestAttribute : Attribute
{
public MyTestAttribute(string label)
{
}
}
Почему я не могу назвать это так?
[Attributes.MyTest(Attributes.Mod<string>.Map<string>(x => x.ToLower()))]
public string SomeProperty { get; set; }
Я получаю сообщение об ошибке «выражение не может содержать анонимные методы или лямбда-выражения». Но почему?
Я хорошо осведомлен лямбда-выражения не будут работать в атрибутах ... но почему статический класс/статический метод с лямбдой не будет работать как параметр для атрибута (... если это проблема, я опыт)?
Благодаря
Очень ценится :) – Beakie