DataMember против DataMemberAttribute

[DataContract]
public class SearchResults
{
    [DataMember]
    public List<SearchDetail> PList { get; set; }
    [DataMemberAttribute]
    public int Count { get; set; }
}

Метаданные для DataMember а также DataMemberAttribute такие же.

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

3 ответа

Решение

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

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

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

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

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

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

Другие вопросы по тегам