IntelliSense告诉我“Expression不能包含匿名方法或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()
{
}
}
答案 0 :(得分:28)
是的,这是正确的。属性值仅限于以下类型的常量
参考:http://msdn.microsoft.com/en-us/library/aa288454(VS.71).aspx