WCF服务参考和iNotifyPropertyChanged

时间:2014-02-14 21:56:03

标签: c# wcf inotifypropertychanged

我的基类中有一个名为IsUpdated的布尔属性,当我的对象中的任何属性在客户端中被更改时,我想将其设置为TRUE。

我的基类是这样的:

[DataContract]
public abstract class EntityBase : INotifyPropertyChanged, IAuditable
{
    #region Data Members
    [DataMember]
    public int Key
    {
        get;
        set;
    }

    [DataMember]
    public bool IsUpdated
    {
        get;
        set;
    }

    public event PropertyChangedEventHandler PropertyChanged;
    protected virtual void OnPropertyChanged(string propertyName)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
    }

    protected bool SetField<T>(ref T field, T value, string propertyName)
    {
        if (EqualityComparer<T>.Default.Equals(field, value)) return false;
        field = value;
        IsUpdated = true;
        OnPropertyChanged(propertyName);
        return true;
    }
}

我的所有课程都来自这门课程。如果这不是WCF服务,那就没关系了。但当然,在我向WCF服务添加服务引用之后,我的PropertyChanged事件处理程序和SetField方法不会被复制到客户端。

Visual Studio会自动为我的WCF服务DataContracts实现INotifyPropertyChanged,但是如果派生类中的属性被修改,我该怎么办才能将IsUpdated设置为TRUE?

0 个答案:

没有答案