你能用自动属性激活事件吗?

Tip*_*ipx 1 c# events automatic-properties

我想知道我是否可以使用自动属性,仍然能够触发属性更改的事件.这是我目前的课程.(实际的User类当然有更多的属性/字段).

public delegate void UserEventHandler(object sender, EventArgs e);

public class User
{
    public event UserEventHandler Changed;

    private string _UserName;
    public string UserName
    {
        get
        {
            return _UserName;
        }
        private set
        {
            _UserName = value;
            this.OnChanged(EventArgs.Empty);
        }
    }

    protected void OnChanged(EventArgs e)
    {
        if (Changed != null)
        {
            Changed(this, e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有一种方法可以利用自动属性并仍然可以触发OnChanged事件.换句话说:半自动属性是否可能?

SLa*_*aks 5

您可以使用PostSharp.