IntelliSense mówi mi "Wyrażenie nie może zawierać metod anonimowych ani wyrażeń lambda". Naprawdę? Nie zdawałem sobie sprawy z tego narzuconego ograniczenia. Czy to jest poprawne? Chyba szukam tutaj testu poprawności ...Atrybut Metoda C# nie może zawierać wyrażenia Lambda?
public delegate bool Bar(string s);
[AttributeUsage(AttributeTargets.All)]
public class Foo : Attribute
{
public readonly Bar bar;
public Foo(Bar bar)
{
this.bar = bar;
}
}
public class Usage
{
[Foo(b => b == "Hello World!")] // IntelliSense Complains here
public Usage()
{
}
}
Jestem ciekawy, czego można by się spodziewać. – FrustratedWithFormsDesigner
Moim zamiarem było umożliwienie prostego mapowania dla niektórych celów konfiguracji. – Didaxis
W tym przykładzie, co zostanie zmapowane do czego? Czy metoda 'Usage' zostanie przypisana do lambda w atrybucie' Foo'? Kiedy wykona lambda? Nie jest dla mnie jasne, ale może to być ciekawy pomysł ... – FrustratedWithFormsDesigner