csharp:系统关键字

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
csharp:系统关键字 [2025/11/28 11:12] – [4. 静态 (static)] 张叶安csharp:系统关键字 [2025/11/28 11:12] (当前版本) – [5. Event (事件) 关键词] 张叶安
行 144: 行 144:
 === 1. 核心概念 === === 1. 核心概念 ===
  
-* **发布者 (Publisher)**:定义事件并决定何时触发事件的类。 +  * **发布者 (Publisher)**:定义事件并决定何时触发事件的类。 
-* **订阅者 (Subscriber)**:监听事件并在事件触发时执行特定操作的类。 +  * **订阅者 (Subscriber)**:监听事件并在事件触发时执行特定操作的类。 
-* **委托 (Delegate)**:事件底层的类型安全函数指针,定义了事件处理程序的签名。+  * **委托 (Delegate)**:事件底层的类型安全函数指针,定义了事件处理程序的签名。
  
 === 2. 语法结构 === === 2. 语法结构 ===
行 236: 行 236:
 === 4. 关键点总结 === === 4. 关键点总结 ===
  
-* **封装性**:`event` 关键词为委托实例提供了一层封装。在类的外部,客户端只能使用 `+=` (订阅) 和 `-=` (取消订阅),而不能直接使用 `=` 赋值(这会覆盖其他订阅者)或直接调用 `Invoke()`。 +  * **封装性**:`event` 关键词为委托实例提供了一层封装。在类的外部,客户端只能使用 `+=` (订阅) 和 `-=` (取消订阅),而不能直接使用 `=` 赋值(这会覆盖其他订阅者)或直接调用 `Invoke()`。 
-* **空检查**:在触发事件前,务必检查事件是否为 `null`(即是否有订阅者),C# 6.0 以后推荐使用 `?.Invoke()`。 +  * **空检查**:在触发事件前,务必检查事件是否为 `null`(即是否有订阅者),C# 6.0 以后推荐使用 `?.Invoke()`。 
-* **命名规范**:事件通常命名为 `Name` 或 `OnName`,处理方法通常命名为 `OnName`。+  * **命名规范**:事件通常命名为 `Name` 或 `OnName`,处理方法通常命名为 `OnName`。

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • csharp/系统关键字.1764299522.txt.gz
  • 最后更改: 2025/11/28 11:12
  • 张叶安