Чтение WCF атрибут Названия DataMember

Привет Парни у меня есть очень простой класс, названный человеком.

public class Person{
   [DataMember(Name="MyName")]
   public string Name { get;set;}
}

Если я пытаюсь сериализировать или десериализовать, все работает отлично. В XML I видят тег под названием "MyName", и в объекте я вижу с Intellisense VS свойство под названием Имя. В чем я нуждаюсь, теперь должен получить доступ, от объекта, сериализированного названия свойства. Например, я могу сделать этот объект. GetType ().GetProperty ("Имя"); но если я пытаюсь сделать этот объект. GetType ().GetProperty ("MyName") отражение заявляет, что свойство не существует. Как я могу считать сериализированное название свойства? Существует ли путь?

5
задан Raffaeu 18 January 2010 в 18:52
поделиться

1 ответ

Похоже, что единственный способ доступа к, используя отражение, атрибуты свойства таким образом:

var att = myProperty.GetType().GetAttributes();
var attribute = property.GetCustomAttributes(false)[0] as DataMemberAttribute;
Console.WriteLine(attribute.Name);

Это работает на обоих, клиентах и ​​сервере без необходимости сериализации и десериализировать объект.

3
ответ дан 15 December 2019 в 06:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: