Wpf 将referenceequals更改为reference.cs中的equals

Wpf 将referenceequals更改为reference.cs中的equals,wpf,wcf,binding,propertychanged,Wpf,Wcf,Binding,Propertychanged,我有一个使用wcf Web服务的wpf应用程序。这是我的Web服务和应用程序,因此我可以对任何一方进行更改。在visual studio自动生成的Reference.cs文件中,它将以下代码用于属性更改事件: [System.Runtime.Serialization.DataMemberAttribute()] public string Value { get { return this.ValueField; }

我有一个使用wcf Web服务的wpf应用程序。这是我的Web服务和应用程序,因此我可以对任何一方进行更改。在visual studio自动生成的Reference.cs文件中,它将以下代码用于属性更改事件:

[System.Runtime.Serialization.DataMemberAttribute()]
    public string Value {
        get {
            return this.ValueField;
        }
        set {
            if ((object.ReferenceEquals(this.ValueField, value) != true)) {
                this.ValueField = value;
                this.RaisePropertyChanged("Value");                    
            }
        }
    }
对于字符串,我真正想要的是:

[System.Runtime.Serialization.DataMemberAttribute()]
    public string Value {
        get {
            return this.ValueField;
        }
        set {
            if ((object.ReferenceEquals(this.ValueField, value) != true)) {
                if (this.ValueField != value)
                {
                    this.ValueField = value;
                    this.RaisePropertyChanged("Value");
                }
            }
        }
    }
这样,如果值相同,则property changed事件不会关闭。之所以会出现这个问题,是因为我监听了文本框的onPreviewTestInput,并以编程方式更改了值,然后事件发生了两次,一次是因为我更改了它,一次是因为wpf通过绑定更改了它


谢谢,

如果您同时控制服务器和客户端,则可以在单独的程序集中定义您的类型,然后从两个项目中引用该程序集


在“WCF引用添加”对话框“高级设置”中,您可以告诉它重复使用类型,然后它将使用客户端公共程序集中存在的数据对象的任何实现。

如果您同时控制服务器和客户端,则可以在单独的程序集中定义类型,然后从两个项目中引用该程序集


在“WCF引用添加”对话框的“高级设置”中,您可以告诉它重复使用类型,然后它将使用客户端公共程序集中存在的数据对象的任何实现。

根据我的解决方案的拆分方式,该解决方案不起作用,是否有方法覆盖自动生成的reference.cs文件中的方法?@odyth-I有时在没有其他选项出现时编辑reference.cs文件。这些情况下的问题是,您必须记住您编辑了文件,并且在文件发生更改时再次进行相同的更改。根据我的解决方案的拆分方式,这些更改将不起作用,是否有方法覆盖自动生成的reference.cs文件中的方法?@odyth-I有时在没有其他选项出现时编辑reference.cs文件。这些情况下的问题是,您必须记住您编辑了该文件,并在每次更改时再次进行相同的更改。