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

DataMember和的元数据DataMemberAttribute相同。

'DataMember' 只是另一个的别名吗?我们应该使用哪一个?(如果可能,请提供链接)

4

3 回答 3

4

按照惯例,所有属性名称都以 Attribute 结尾。但是,一些面向运行时的语言(例如 Visual Basic 和 C#)不需要您指定属性的全名。例如,如果要初始化 System.ObsoleteAttribute,只需将其引用为 Obsolete。

来源 - https://docs.microsoft.com/en-us/dotnet/standard/attributes/applying-attributes

它是相同的,并且适用于 .Net Framework 中的所有属性。前任。可序列化

于 2011-05-18T05:04:45.990 回答
3

是的,属性名称上的“属性”是可选的。使用任何让你快乐的东西。

MSDN 上的属性(见注释 2/3 向下)

笔记

按照惯例,所有属性名称都以单词“Attribute”结尾,以将它们与 .NET Framework 中的其他项区分开来。但是,在代码中使用属性时,不需要指定属性后缀。例如,[DllImport] 等效于 [DllImportAttribute],但 DllImportAttribute 是 .NET Framework 中属性的实际名称。

于 2011-05-18T05:09:07.190 回答
1

您可以在.NET 中使用任何带有-Attribute结尾的属性,即使用属性类型的全名。为了简单起见,允许省略结尾。

于 2011-05-18T05:18:26.753 回答