我正在学习C#。我看到类似下面的代码。我的问题是:你怎么知道在[]里面放什么?你是否必须逐个手动添加它们,或者有一个工具(如视觉工作室)来做到这一点?当然,它不仅限于xml。我在网上搜索,这是属性注释。阅读有什么好的参考吗?
[XmlRoot("Logs")]
public class LogConfig {
[XmlArray("Servers")]
[XmlArrayItem("Server")]
public Server[] servers{
set; get;
}
public LogConfig(){
}
}
答案 0 :(得分:1)
属性是普通类,这意味着您可以定义自己的类!有关如何执行此操作的示例,请参阅here。您放在[]
中的是该类的名称。您放在()
中的内容由属性类的属性定义。
例如(这来自上面链接的MSDN文章),对于下面的属性类:
[System.AttributeUsage(System.AttributeTargets.Class)]
public class Author : System.Attribute
{
private string name;
public double version;
public Author(string name)
{
this.name = name;
version = 1.0;
}
}
您可以将此属性添加到类中:
[Author("P. Ackerman", version = 1.1)]
class SampleClass
{
// P. Ackerman's code goes here...
}
有关.NET框架中已定义属性的列表,请参阅this page的底部。
答案 1 :(得分:0)
您是否必须逐个手动添加
是
您了解这些属性以及如何应用它们。
有些工具可以从XSD或JSON生成类,这些类可能包含上述属性,但如果您正在编写类,则需要自己添加属性。
没有工具可以猜测类将如何映射到XML结构。