private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}这都是窗体设计器自动生成的代码。
----------------------------------------------------------------
但是,我搞不懂的是 第一句声明字段 起什么作用。
1 如:form类应该有container属性,form1应该继承了这个属性了,为什么在form1中还要声明这个字段。
查msdn:
form类container属性,解释为获取 IContainer,它包含 Component。语法:public IContainer Container { get; }。
//可知此属性获取的是IContainer接口。
IContainer 接口 ,解释:提供容器的功能。容器是在逻辑上包含零个或更多个组件的对象。//这里的组件,我理解为组件类而不是组件接口。
IContainer.Components 属性 ,语法为:ComponentCollection Components { get; }。解释为:获取 IContainer 中的所有组件。
//我仍理解为是组件类(Component)的集合。
但是,ComponentCollection类,解释为:为 IComponent 对象的集合提供只读容器。
构造函数public ComponentCollection (IComponent[] components)
//我理解这个类指的是IComponent接口的集合。
而组件(Component)是IComponent接口的默认实现。
由此,产生疑问,前后的各个说明,应该说从文字上或者语法上,最后归纳出有个区别,就是前面指的是 组件对象(Component)而后边是IComponent接口,不知这该怎么理解,因为我觉得 组件对象(Component)和 IComponent接口是完全不同的对象。
1 请先解释一下,上面的部分该怎么理解,同时,请讲解一下Component是一个什么样的类,起到什么作用。因为组件这个概念现在也找不到一个比较标准的定义。只要在net框架下能理解组件是个什么东西就可以了。
2 既然有container属性了,form1类还声明IContainer 接口的字段是干什么?
3 private System.ComponentModel.IContainer components = null;把接口描述为null这种语法表示什么呢?以前只见过类的实例为null这种描述。所以该怎么理解呢?
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}这都是窗体设计器自动生成的代码。
----------------------------------------------------------------
但是,我搞不懂的是 第一句声明字段 起什么作用。
1 如:form类应该有container属性,form1应该继承了这个属性了,为什么在form1中还要声明这个字段。
查msdn:
form类container属性,解释为获取 IContainer,它包含 Component。语法:public IContainer Container { get; }。
//可知此属性获取的是IContainer接口。
IContainer 接口 ,解释:提供容器的功能。容器是在逻辑上包含零个或更多个组件的对象。//这里的组件,我理解为组件类而不是组件接口。
IContainer.Components 属性 ,语法为:ComponentCollection Components { get; }。解释为:获取 IContainer 中的所有组件。
//我仍理解为是组件类(Component)的集合。
但是,ComponentCollection类,解释为:为 IComponent 对象的集合提供只读容器。
构造函数public ComponentCollection (IComponent[] components)
//我理解这个类指的是IComponent接口的集合。
而组件(Component)是IComponent接口的默认实现。
由此,产生疑问,前后的各个说明,应该说从文字上或者语法上,最后归纳出有个区别,就是前面指的是 组件对象(Component)而后边是IComponent接口,不知这该怎么理解,因为我觉得 组件对象(Component)和 IComponent接口是完全不同的对象。
1 请先解释一下,上面的部分该怎么理解,同时,请讲解一下Component是一个什么样的类,起到什么作用。因为组件这个概念现在也找不到一个比较标准的定义。只要在net框架下能理解组件是个什么东西就可以了。
2 既然有container属性了,form1类还声明IContainer 接口的字段是干什么?
3 private System.ComponentModel.IContainer components = null;把接口描述为null这种语法表示什么呢?以前只见过类的实例为null这种描述。所以该怎么理解呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货