본문 바로가기

Development/c#

C#에서 DataMember의 Name 가져오기

반응형

Web Project에서 많이 사용하는 것이 json / entity object 이다.

이때 json 이름과 entity 이름과 다른 경우 매핑을 해주는 것이 Name 속성이다.

   

공통 class 작업을 하면서 Name 속성을 바로 가져와야 하는 경우 들이 있다.

   

구글링의 결과 소스와 같이 활용 있다.

   

Entity 다음과 같이 선언이 되어 있을 경우

   

[DataContract]
public class Station
{
    [DataMember(Name = "stationName")]
    public string StationName { get; set; }

    [DataMember(Name = "stationId")]
    public string StationId { get; set; }
}

   

아래의 dma.Name이 DataMember에서 선언한 Name 이다.

   

 var properties = typeof(Station).GetProperties();
 foreach (var property in properties)
 {
    var attributes = property.GetCustomAttributes(typeof(DataMemberAttribute), true);
     foreach (DataMemberAttribute dma in attributes)
     {
         Console.WriteLine(dma.Name);
      }                
  }

   

출처: <http://stackoverflow.com/questions/20898181/getting-the-name-of-datamember-in-c-sharp>

   

반응형