样板程序
using system;
using data;
using IO;class a
{
public static dataset dataset1 =new dataset();
private dataset dataset2 =new dataset();
public void test()
{
dataset1=dataset2;
}}
其中dataset1是静态成员,而dataset2是实例成员。将实例成员赋给静态成员(是否也应该算静态成员访问非静态成员的范畴),程序是没有问题的。
另外帮助文档中提到
非静态类可以包含静态的方法、字段、属性或事件。即使没有创建类的实例,也可以调用该类中的静态成员。始终通过类名而不是实例名称访问静态成员。无论对一个类创建多少个实例,它的静态成员都只有一个副本。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量(除非在方法参数中显式传递)。 最后一句不能理解
既然静态方法不能访问包含类型中的非静态字段,那方法外定义任何对象(类的实例)都是不能访问的(更不用说对象的实例变量了),这样一来最后一句且不是多此一举。
using system;
using data;
using IO;class a
{
public static dataset dataset1 =new dataset();
private dataset dataset2 =new dataset();
public void test()
{
dataset1=dataset2;
}}
其中dataset1是静态成员,而dataset2是实例成员。将实例成员赋给静态成员(是否也应该算静态成员访问非静态成员的范畴),程序是没有问题的。
另外帮助文档中提到
非静态类可以包含静态的方法、字段、属性或事件。即使没有创建类的实例,也可以调用该类中的静态成员。始终通过类名而不是实例名称访问静态成员。无论对一个类创建多少个实例,它的静态成员都只有一个副本。静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量(除非在方法参数中显式传递)。 最后一句不能理解
既然静态方法不能访问包含类型中的非静态字段,那方法外定义任何对象(类的实例)都是不能访问的(更不用说对象的实例变量了),这样一来最后一句且不是多此一举。
解决方案 »
- 老鸟帮下,复习C#遇到点问题
- 怎么样给datagridview的一列加上下划线啊
- c#中的button除了text,还有没有属性可以用来存放数据?
- 自己通过httpwebrequest类做了个灌水机,但程序运行起来超卡
- 小问题!
- 【Xamarin公开培训课】C#开发iOS、Android应用,全面解析 Q&A贴
- dcomcnfg的问题,急的很,请大家帮忙
- sum +=i++怎么计算的?
- 怎么使列变成下拉列表框??
- 高分请教数据棒定问题!
- TreeView节点如何控制根节点不加复选框,而子节点前有复选框
- (家产2分全给出)如何将datagridview的修改更新的数据库(datagridview是两个表的联合检索)
public void test()
{
dataset1=dataset2;或者
dataset2=dataset1;
}
都是没有问题的。
但是有时概念说得很笼统,统称为静态成员就有点不能理解了。