- 使用override重写基类方法时,基类的该方法需定义为virtual
- struct是值类型,不能和null进行比较,如果要判断对象是否为空,请使用class来定义类型,而不是struct
- 两个方法的声明如果只是在ref(或out)上的使用不同,则会发生重载;属性不是变量,不能作为ref(或out)参数传递
- Thread.Resume与Thread.Suspend的次数无关,调用后会立即恢复线程的执行
- 静态类是密封的,所以不能被继承,静态类不能包含构造函数,但仍可声明静态构造函数以分配初始值或设置某个静态状态
- readonly 关键字与 const 关键字不同。const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化, 因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数
- 如果一个对象仍然登记有另一个对象的事件,该对象就不能被执行垃圾回收,如果对象实现了Dispose,则应在其中注销掉所有登记的事件(-=)
- Control.Invoke 方法: 在拥有控件的基础窗口句柄的线程上,用指定的参数列表执行指定委托
- 被挂起的线程要先被恢复才可以退出(“线程被挂起;正在尝试中止”的问题) if(ThreadState.Suspended == t.ThreadState){t.Resume();} t.Abort();
- 任何时刻只允许一个线程访问资源的现象叫同步,可以使用同步技术现象对资源进行线程安全的访问
- internal 类型和类型成员的访问修饰符, 内部成员只有在同一程序集中的文件内才是可访问的
![](https://img2024.cnblogs.com/blog/35695/202502/35695-20250207193705881-1356327967.jpg)