1、类库和控件库的主要区别是什么?
【解答】
类库是指独立提供的组件。类库本身不能单独运行,只能被其他程序调用。这里需要说明一点,之所以称这个.dll文件为类库而不直接叫动态链接库,是因为“动态链接库”这个词包含的范围太广,不管是.NET之前的组件技术还是基于.NET的组件技术,也不管是组件还是控件,只要扩展名为.dll的文件都叫动态链接库。为了区分组件和控件,我们才将不带界面的组件叫“类库”,将带界面的控件叫“控件库”。
2、特性(Attribute)和属性(Property)的作用各是什么?举例说明如何利用特性控制属性窗口中的属性分类。
【解答】
特性实际上是由一个或多个继承自Attribute类的特殊类的简称。从用途上来看,可以将特性理解为一种标记,该标记用于提供目标元素的信息。目标元素可以是程序集、类、构造函数、委托、枚举、事件、字段、接口、方法、可移植可执行文件模块、参数、属性(Property)、返回值、结构或其他特性(Attribute)。属性是程序员用来访问数据成员的。
例如,下面的代码在属性ErrorMessage的上方声明了DefaultValue特性和Description特性。
[DefaultValue(null)]
[Description("提示信息"), Category("验证")]
public string ErrorMessage{ get; set; }