如何将属性添加到类和函数中

时间:2012-12-21 21:09:21

标签: c# attributes annotations

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

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

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

        public LogConfig(){
        }        
    }

2 个答案:

答案 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结构。