使用Property属性调用方法/执行一段代码
本文关键字:一段 代码 执行 属性 Property 调用 方法 使用 | 更新日期: 2023-09-27 17:58:24
只是想知道是否可以使用property属性调用方法。基本上,我想在任何公共属性发生更改时设置实体的状态。
就像我们有以下代码
public class Contact : EntityBase
{
[NotifyChange]
public string FirstName { get; set; }
private void ChangeState()
{
EntityState = EntityState.Modified;
}
}
当我们呼叫时
var c = new Contact();
c.FirstName = "John";
在设置FirstName的值之前(或之后),它调用EntityState()函数。
知道吗?
如果属性被重写为:会简单得多
public class Contact : EntityBase
{
private string _firstName;
[NotifyChange]
public string FirstName
{
get
{
return _firstName;
}
set
{
ChangeState();
_firstName = value;
}
}
private void ChangeState()
{
EntityState = EntityState.Modified;
}
}
试试这个:
public class Contact : EntityBase
{
private string _firstName;
public string FirstName
{
get {return _firstName}
set
{
_firstName = value;
EntityState(); // maybe here must by ChangeState()
}
}
private void ChangeState()
{
EntityState = EntityState.Modified;
}
}