学习过程中随手记录基础内容
类的继承
class A: B, interface//冒号继承/实现,与java一样一个父类多个接口
{
}
类的性质:
internal -- public
abstract -- sealed
若调用构造函数,那么新建子类实例的时候一定会调用父类的构造函数。
或者显示的调用
public son(int i): father(i)
{}
调用子类中另一个构造函数
public son(int i):this(i)
{}
一句话区分class与struct:
class是引用类型
struct是值类型(int)
恒定值:readonly
类中公共字段用PascalCasing命名
私有字段用camelCasing命名
//sealed派生类不可重写,override表示重写父类中的方法
public override sealed void method()
{}
//在派生类中用new或者override实现隐藏父类的方法:当父类指针调用子类实例也会调用子类的方法
//base = super
//类似于c++中的STL,c#中有集合
//System.Collections.ArrayList 均继承自 CollectionBase
//IDictionary 继承自 DictionaryBase
控件的问题
Control.CheckForIllegalCrossThreadCalls = false;
就不会出现调用线程调试中的错误了,也不会用到线程,只是不报错而已比较方便