而不是像这样:
Func<bool> func;
bool Property {
get {return func();}
}
我希望能够做到这样的事情:
Property.get = () => booleanReturningExpression;
这可能,或者你能让我更接近那种假的语法吗?
答案 0 :(得分:3)
不,纯C#中没有这样的东西是可能的。您可以使用字段或(readonly
)属性:
public Func<bool> PropertyGet;
并分配给它,但这不是一个非常好的解决方案。如果您需要此功能而不仅仅是语法糖,您可以从属性委派:
protected Func<bool> PropertyGet;
public bool Property {
get { return this.PropertyGet(); }
}
你可以将它设置得非常相似。或者,如果确实想要Property.get
并在自定义Property
类上设置默认方法,则可以模仿委托。 (我不知道这在C#中是否可行,但它在VB.NET中。)