DataMember против DataMemberAttribute - PullRequest
4 голосов
/ 18 мая 2011
[DataContract]
public class SearchResults
{
    [DataMember]
    public List<SearchDetail> PList { get; set; }
    [DataMemberAttribute]
    public int Count { get; set; }
}

Метаданные для DataMember и DataMemberAttribute совпадают.

Является ли DataMember просто псевдонимом другого? Какой из них мы должны использовать? (Если возможно, укажите ссылку)

Ответы [ 3 ]

4 голосов
/ 18 мая 2011

ОБНОВЛЕНИЕ: По соглашению, все имена атрибутов заканчиваются на Атрибут. Однако для некоторых языков, предназначенных для среды выполнения, таких как Visual Basic и C #, не требуется указывать полное имя атрибута. Например, если вы хотите инициализировать System.ObsoleteAttribute, вам нужно только ссылаться на него как на устаревший.

Источник - http://msdn.microsoft.com/en-us/library/bfz783fz.aspx

Это то же самое и для всех атрибутов в .Net Framework это применимо. Ex. Сериализуемый

3 голосов
/ 18 мая 2011

Да, «Атрибут» в имени атрибута является необязательным.Используйте все, что вас радует.

Атрибуты на MSDN (см. Примечание 2/3-е внизу)

1 голос
/ 18 мая 2011

Вы можете использовать любой атрибут с окончанием -Атрибут в .NET, т. Е. Использовать полное имя типа атрибута.Просто, чтобы было проще, окончание можно опустить.

...