这部分代码叫什么?

时间:2011-03-10 04:38:31

标签: c# .net

以下代码的第一行是什么?

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public virtual IController Controller
{
    get { return controller; }
    set { controller = value; }
}

2 个答案:

答案 0 :(得分:10)

它被称为attribute。属性用于描述属性,方法等。它们用于提供元数据等。

在这种情况下,DesignerSerializationVisibility.Hidden属性意味着Controller属性对设计时序列化程序不可见。

答案 1 :(得分:1)

位置参数是属性构造函数的参数。它们是必需的,每次将属性放在任何程序实体上时都必须传递一个值。另一方面,命名参数实际上是可选的,不是属性构造函数的参数。

[AttributeUsage(AttributeTargets.Class, AllowMultiple = false,
 Inherited = false)]
public class HelpAttribute : Attribute
{
    public HelpAttribute(String Description_in)
    {
        this.description = Description_in;
        this.verion = "No Version is defined for this class";
    }
    protected String description;
    public String Description
    {
        get 
        {
            return this.description;
        }
    }
    protected String version;
    public String Version
    {
        get 
        {
            return this.version;
        }
        //if we ever want our attribute user to set this property, 

        //we must specify set method for it 

        set 
        {
            this.verion = value;
        }
    }
}
[Help("This is Class1")]
public class Class1
{
}

[Help("This is Class2", Version = "1.0")]
public class Class2
{
}

[Help("This is Class3", Version = "2.0", 
 Description = "This is do-nothing class")]
public class Class3
{
}

more...