智能感知告诉我“表达式不能包含匿名方法或lambda表达式。”真?我不知道这个强加的限制。它是否正确?我想我在这里寻找理智检查...C#方法属性不能包含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()
{
}
}
我很好奇你会期望这样做。 – FrustratedWithFormsDesigner 2010-12-10 16:42:11
我的目的只是为了某些配置目的而允许一个简单的映射。 – Didaxis 2010-12-10 16:45:48
在这个例子中,什么会映射到什么? 'Usage'方法会映射到'Foo'属性中的lambda? lambda何时执行?这并不清楚,但这可能是一个有趣的想法...... – FrustratedWithFormsDesigner 2010-12-10 16:55:48