2012-01-19 2 views
0

데이터를 XML로 serialize하는 데 사용되는 모델이 있습니다.데이터 바인딩을위한 관찰 가능한 모델 만들기

public class File : IFile 
    { 

     [XmlAttribute] 
     public string ObjectId; 


     public string OriginalFileName { get; set; } 
     public string FileName { get; set; } 
     public int Size { get; set; } 
     public string Note { get; set; } 


     public static explicit operator File(FileItem a) // explicit File to FileItem conversion operator 
     { 
      File b = new File(); // explicit conversion 

      b.ObjectId = a.ObjectId; 
      b.Note = a.Note; 
      b.FileName = a.FileName; 
      b.OriginalFileName = a.OriginalFileName; 
      b.Size = a.Size; 

      return b; 
     } 
    } 

는 이러한 클래스는 주로 읽기와 worddocument 내부 XML 문서를 저장하는 데 사용됩니다. 주 응용 프로그램 내부에서 관찰 가능한 데이터가 필요합니다.이 경우 프리즘을 사용하고 클래스는 NotificationObject에서 상속합니다.

public class FileItem : NotificationObject, IFile 
    { 

     public FileItem() 
     { 

     } 

     public static explicit operator FileItem(File a) // explicit File to FileItem conversion operator 
     { 
      FileItem d = new FileItem(); // explicit conversion 

      d.ObjectId = a.ObjectId; 
      d.Note = a.Note; 
      d.FileName = a.FileName; 
      d.OriginalFileName = a.OriginalFileName; 
      d.Size = a.Size; 

      return d; 
     } 



     private string _objectid; 
     public string ObjectId 
     { 
      get { return _objectid; } 
      set 
      { 
       if (!value.Equals(_objectid)) 
       { 
        _objectid = value; 
        this.RaisePropertyChanged(() => this.ObjectId); 
       } 
................. 

그래서 내가하는 일은 내가 먼저 파일 클래스로 XML 파일을 읽은 다음 나는 FileItem 클래스로 변환 할 필요가 그리고 난 다시 XML로 저장하고자 할 때 내가 필요가있다 역변환을 다시하십시오. 이것은 나에게 조금 unessesary 보인다. 필자는 FileItem으로 직접 직렬화하는 솔루션을 생각할 수 있지만, File 객체를 필요로하지 않고 프리즘 어셈블리가 설치되지 않는 다른 구성 요소가 사용하는 어셈블리에 정의되어 있으므로 File을 간단하게 유지해야합니다.

간단한 방법에 대한 아이디어.

답변

0

AutoMapper을 사용하면 한 개체에서 다른 개체로 자동 매핑 할 수 있습니다.

+0

좋은 생각처럼 보였습니다. 나는 약간에 대해 읽었고 Nuget을 가지고 있습니다. 나는 최근 샘플 thoug을 얻는 방법에 대해 알아 내지 않았지만 그것은 무엇을 찾고있는 것 같다. – klashagelqvist

관련 문제