在不需要支持字段的情况下将代码添加到C#get/set属性中?

ash*_*ley 29 c# field get properties set

您知道如何拥有一个自动生成支持字段的属性吗?就像我去:

public String SomeProperty {get; set;}
Run Code Online (Sandbox Code Playgroud)

我知道如果我想向该属性添加代码,我必须创建支持字段,如下所示:

 public string someProperty = string.Empty;
 public string SomeProperty
 {
     get { return someProperty; }
     set
     {
         someProperty = value;
         DoSomething();
     }
 }
Run Code Online (Sandbox Code Playgroud)

基本上,我想知道的是......有没有办法做到这一点,但无需创建支持字段?例如,我可以使用它来触发设置属性时发生的某种事件.我正在寻找这样的东西:

 public string SomeProperty
 {
     get;
     set { this.OnSomeEvent; }
 }
Run Code Online (Sandbox Code Playgroud)

但我知道这会导致编译错误,因为get需要确实声明一个正文set.

我研究过,但我找不到任何东西,但我想我会检查是否有人知道.

我想我真正想要的是在某个属性发生变化时触发事件的某种方式,但不必添加所有额外的混乱.有什么建议?

Cla*_*ies 20

简单的答案是否定的,你不能双管齐下.来自msdn:

在C#3.0及更高版本中,当属性访问器中不需要其他逻辑时,自动实现的属性使属性声明更简洁.