2010-12-16 2 views
2

wcf webservice를 사용하는 wpf 앱이 있습니다. 그것의 내 webservice 및 응용 프로그램, 그래서 어느 쪽이든 변경할 수 있습니다. 그 방법reference.cs에서 같음으로 참조 동등 변경

[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"); 
       } 
      } 
     } 
    } 

: 내가 정말하고 싶은 것은이 비록 문자열에 대한

[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");      
      } 
     } 
    } 

: 자동으로 비주얼 스튜디오에 의해 genereated 가져옵니다 Reference.cs 파일에서이 속성 변경 이벤트에 대한이 코드를 사용하여 값이 동일하면 등록 정보 변경 이벤트가 실행되지 않습니다. 왜 이것이 문제가 되는가는 텍스트 상자의 OnPreviewTextInput을 듣고 프로그래밍 방식으로 값을 변경했기 때문에 이벤트가 두 번 변경되었습니다. 한 번 변경했기 때문에 한 번 변경되었습니다. wpf가 바인딩을 통해 변경했기 때문입니다. 서버와 클라이언트 모두를 제어 할 경우, 당신은 당신이 다음 두 프로젝트에서 참조하는 별도의 조립, 당신의 유형을 정의 할 수 있습니다

답변

0

감사합니다.

WCF 참조 추가 대화 상자의 고급 설정에서 유형을 다시 사용하도록 지정하면 클라이언트의 공통 어셈블리에있는 데이터 개체의 구현이 모두 사용됩니다.

+0

내 솔루션이 어떻게 작동하지 않는지에 따라 자동으로 생성 된 reference.cs 파일의 메서드를 재정의 할 수 있습니까? – odyth

+0

@odyth - 다른 옵션이 표시되지 않을 때 reference.cs 파일을 편집하는 경우가 있습니다. 이 경우 파일을 편집했다는 사실을 기억하고 변경 될 때마다 동일한 변경을 다시 수행해야합니다. – Joon