以下代码的第一行是什么?
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public virtual IController Controller
{
get { return controller; }
set { controller = value; }
}
答案 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
{
}