IntelliSense cho tôi biết "Biểu thức không thể chứa các phương thức nặc danh hoặc biểu thức lambda". Có thật không? Tôi đã không nhận thức được điều này áp đặt giới hạn. Điều này có đúng không? Tôi đoán tôi đang tìm kiếm một kiểm tra sanity ở đây ...C# Phương thức thuộc tính không thể chứa Biểu thứ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()
{
}
}
Tôi tò mò về những gì bạn mong đợi điều này sẽ làm. – FrustratedWithFormsDesigner
Ý định của tôi chỉ cho phép ánh xạ đơn giản cho một số mục đích cấu hình. – Didaxis
Trong ví dụ này, cái gì sẽ được ánh xạ tới cái gì? Phương thức 'Usage' có được ánh xạ tới lambda trong thuộc tính' Foo' không? Khi nào lambda sẽ thực hiện? Nó không rõ ràng với tôi nhưng điều này có thể là một ý tưởng thú vị ... – FrustratedWithFormsDesigner