SDK says :C# 语言的一个重要特征是使程序员能够为程序中定义的各种实体附加一些说明性信息。例如,类中方法的可访问性是通过用“方法修饰符”public、protected、internal 和 private 来说明它而指定的。C# 使程序员可以创造说明性信息的新的种类,称为属性。然后,程序员可以将这种属性附加到各种程序实体,而且在运行时环境中还可以检索这些属性信息。例如,一个框架可以定义一个名为 HelpAttribute 的属性,该属性可以放在某些程序元素(如类和方法)上,以提供从这些程序元素到其文档说明的映射。
比如Assembly.cs一般用来记录软件的版权信息,你查看编译出来的可执行文件的“属性”中的“版本”,“常规”就可以看出这些信息。下面是我的一个程序中的Assembly.cs文件:
using System.Reflection;
using System.Runtime.CompilerServices;//
// 有关程序集的常规信息是通过下列
// 属性集控制的。更改这些属性值可修改与程序集
// 关联的信息。
//
/* ************************************************
*
* 这里的部分是中文的常数字符串定义部分:
* ************************************************ */
[assembly: AssemblyTitle("信息搜寻者")]
[assembly: AssemblyDescription("如果您发现软件有任何漏洞,您可以把发现的漏洞发给[email protected],谢谢")]
[assembly: AssemblyCopyright("@David Euler,四川省成都市四川大学,2004")]
[assembly: AssemblyCompany("信息搜寻者")]
[assembly: AssemblyProduct("信息搜寻者")]
[assembly: AssemblyTrade("信息搜寻者")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0.16.0")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
我再详细说明一下吧!就是形如如下这样的!
[DllImport( "winmm.dll", EntryPoint="mciSendStringA", CharSet=CharSet.Ansi )]
protected static extern int mciSendString( string lpstrCommand, StringBuilder lpstrReturnString, int uReturnLength, IntPtr hwndCallback );
custom attribute有什么用,一句话两句话很难说清楚,建议你查MSDN中相关内容。
//property:
private int _i;
//accessor
public int i
{
get
{
return -i;
}另外project, control都有属性,当那个的意思应该是指配置信息。
}
getXXX,setXXX叫Property
get;set;是Property;Attribute是用来表示你写的代码的属性,就象一个人一样,比如是学生,是老师都属于属性的一种。Property是你写的类的成员的变量被外部访问的控制。