【发布时间】:2009-02-24 17:28:16
【问题描述】:
我有一个属性被分配为:
public string propertyA{get;set;}
我想在该属性设置为在类中分配另一个属性时自动调用一个方法。触发呼叫的最佳方式?
【问题讨论】:
标签: c# properties
我有一个属性被分配为:
public string propertyA{get;set;}
我想在该属性设置为在类中分配另一个属性时自动调用一个方法。触发呼叫的最佳方式?
【问题讨论】:
标签: c# properties
您不必使用只是简写的语法。如果你扩展它,你可以在 setter 中做任何你喜欢的事情。
public string PropertyA
{
get { return a; }
set
{
a = value;
doStuff();
}
}
【讨论】:
我认为您将不得不回到老式的方式来处理您的财产。
private string _PropertyA;
public string propertyA
{
get
{
return _PropertyA;
}
set
{
_PropertyA=value;
//Set other parameter
}
}
【讨论】:
扩展属性设置器并分配其他属性。
【讨论】:
手动添加支持字段并提供一些代码以在设置器中执行您想要的操作。
private string propertyA;
public string PropertyA
{
get { return this.propertyA; }
set
{
this.propertyA = value;
this.propertyB = value + "B";
}
}
【讨论】:
定义设置器。
在它里面要么触发一个事件,要么直接分配其他属性。
【讨论】: