1

我正在学习 C#。我看到了类似下面的代码。我的问题是:你怎么知道在 [ ] 里面放什么?您是否必须手动添加它们或者有一个工具(例如Visual Studio)来做到这一点?当然,它不仅限于 xml。我在网上搜索,是属性注解。有什么好的参考读物吗?

    [XmlRoot("Logs")]
    public class LogConfig {

        [XmlArray("Servers")]
        [XmlArrayItem("Server")]
        public Server[] servers{
         set; get;   
        }

        public LogConfig(){
        }        
    }
4

2 回答 2

1

属性是普通类,这意味着您可以定义自己的!有关如何执行此操作的示例,请参见此处。你输入的[]是类的名称。您放入的()内容由属性类具有的属性定义。

例如(这来自上面链接的 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 框架中已定义属性的列表,请参阅本页底部。

于 2012-12-21T21:18:12.873 回答
0

是不是要手动一一添加

是的。

您将了解这些属性以及如何应用它们。


一些工具可以从 XSD 或 JSON 生成类,这些类可能包含上述属性,但如果您正在编写类,则需要自己添加属性。

没有工具可以猜测类将如何映射到 XML 结构。

于 2012-12-21T21:13:17.507 回答