IntelliSense me dice "Expression no puede contener métodos anónimos o expresiones lambda". De Verdad? No estaba al tanto de esta limitación impuesta. ¿Es esto correcto? Supongo que estoy buscando un control de cordura aquí ...C# Método ¿El atributo no puede contener una expresión 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()
{
}
}
Tengo curiosidad sobre lo que usted esperaría que hiciera. – FrustratedWithFormsDesigner
Mi intención era solo permitir una asignación simple para algunos propósitos de configuración. – Didaxis
En este ejemplo, ¿qué se mapearía a qué? ¿El método 'Usage' se correlacionaría con el lambda en el atributo' Foo'? ¿Cuándo se ejecutará la lambda? No está claro para mí, pero esta podría ser una idea interesante ... – FrustratedWithFormsDesigner