C#学习历程(四)[实际问题]
》》无法直接启动带有”类库输出类型”的项目
在编辑界面的右侧会出现【解决方案资源管理器】,里面显示我们的程序项目和所有代码文件。
右键点击项目,在右键菜单中选择【属性】
一般导致该问题都是启动项目选择错误的原因,我们可以参考之前可以正常运行的程序,
从启动项目下拉列表中选择正确的启动项目程序名称,然后点击确定。
》》引入dll出错
在代码开头的using部分,要记住dll具体的名称,但是当dll依旧出错的时候,就打开详情,查看里面的函数名是否一致。
》》变量的命名
在对象的声明和定义中,应该注意对象的命名规范(在团队的开发中尤为重要!)
注意各种变量的声明规范!
》》非静态字段、方法或属性要求对象引用
vs中如果出现错误提示“非静态的字段、方法或属性要求对象引用”时
说明该类的中方法没有static 不是静态的.有非静态的字段、方法或属性,要求该类必须实例化。
1.先实例化类为对象:classT sl=new classT();
2.下一步非静态的方法或属性可以通过对象的属性来引用: sl.ff();
静态方法中不能访问非静态成员
在static 静态的方法函数中引用非静态的方法导致。静态的方法函数中只能引用静态的函数方法
main也是一个静态方法它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。
而问题的解决方法:找到在静态函数方法中引用的非静态的方法 改成静态的 或者实例化后引用。(main方法中掉好用其他的方法,就是这么用的)
也就是说,实例化拯救世界???
》》静态方法与实例方法的区别
静态方法和实例方法的区别主要体现在两个方面:
一、在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。
也就是说,调用静态方法可以无需创建对象。然而静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法)。
而不允许访问实例成员变量和实例方法;实例方法则无此限制。
二.静态方法只能访问静态成员,实例方法可以访问静态和实例成员。
之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。
同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。
基于同样的道理,静态方法中也不能使用关键字this。