DataMember против DataMemberAttribute
[DataContract]
public class SearchResults
{
[DataMember]
public List<SearchDetail> PList { get; set; }
[DataMemberAttribute]
public int Count { get; set; }
}
Метаданные для DataMember
а также DataMemberAttribute
такие же.
Является ли DataMember просто псевдонимом другого? Какой из них мы должны использовать? (Если возможно, укажите ссылку)
3 ответа
Да, "Атрибут" в имени атрибута является необязательным. Используйте то, что делает вас счастливым.
ОБНОВЛЕНИЕ: По соглашению, все имена атрибутов заканчиваются на Атрибут. Однако для некоторых языков, предназначенных для среды выполнения, таких как Visual Basic и C#, не требуется указывать полное имя атрибута. Например, если вы хотите инициализировать System.ObsoleteAttribute, вам нужно только сослаться на него как на устаревший.
Источник - http://msdn.microsoft.com/en-us/library/bfz783fz.aspx
Это то же самое и для всех атрибутов в.Net Framework это применимо. Ex. Сериализуемый
Вы можете использовать любой атрибут с окончанием -Attribute в.NET, то есть использовать полное имя типа атрибута. Просто, чтобы было проще, окончание может быть опущено.