您知道如何拥有自动生成支持字段的属性吗?就像我去的话:
public String SomeProperty {get; set;}
我知道,如果我想向该属性添加代码,我必须创建支持字段,如下所示:
public string someProperty = string.Empty;
public string SomeProperty
{
get { return someProperty; }
set
{
someProperty = value;
DoSomething();
}
}
基本上,我想知道的是......有什么方法可以做到这一点,但不必创建支持字段?例如,我可以使用它来触发设置属性时发生的某种事件。我正在寻找这样的东西:
public string SomeProperty
{
get;
set { this.OnSomeEvent; }
}
但我知道这会导致编译错误,因为get
如果需要声明一个主体set
does.
我研究过,但找不到任何东西,但我想我应该检查一下是否有人知道。
我想我真正想要的是在属性更改时触发事件的某种方式,但不必添加所有额外的混乱。有什么建议么?
简单的答案是否定的,你不能两者兼顾。从.NET 文档 https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/auto-implemented-properties:
在 C# 3.0 及更高版本中,自动实现的属性使属性声明更加简洁当属性访问器中不需要额外的逻辑时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)