差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
csharp:类:嵌套类 [2025/11/27 10:19] 张叶安csharp:类:嵌套类 [2025/11/27 10:21] (当前版本) – [1. 内部类需要被多处复用] 张叶安
行 3: 行 3:
 嵌套类(Nested Class)是在另一个类内部声明的类。在 C# 中,嵌套类与外部类的关系主要是**访问控制**的关系,而不是对象实例的关系。 嵌套类(Nested Class)是在另一个类内部声明的类。在 C# 中,嵌套类与外部类的关系主要是**访问控制**的关系,而不是对象实例的关系。
  
-<note important>+
 **C# 与 Java 的区别**: **C# 与 Java 的区别**:
 在 C# 中,嵌套类默认**不会**自动持有外部类实例的引用(类似于 Java 的 static inner class)。如果需要访问外部类的非静态成员,必须显式传递外部类的实例。 在 C# 中,嵌套类默认**不会**自动持有外部类实例的引用(类似于 Java 的 static inner class)。如果需要访问外部类的非静态成员,必须显式传递外部类的实例。
-</note> 
  
 ===== 一、什么时候应该用嵌套类 (最佳实践) ===== ===== 一、什么时候应该用嵌套类 (最佳实践) =====
行 144: 行 143:
 </code> </code>
  
-<note warning>+
 **后果**:其他类如果要用这个工具,必须写成 `Order.MathUtils.Add(...)`,这不仅啰嗦,而且让人困惑:为什么做加法运算需要依赖 `Order` 类? **后果**:其他类如果要用这个工具,必须写成 `Order.MathUtils.Add(...)`,这不仅啰嗦,而且让人困惑:为什么做加法运算需要依赖 `Order` 类?
-</note>+
  
 ==== 2. 生命周期管理风险 (内存泄漏) ==== ==== 2. 生命周期管理风险 (内存泄漏) ====

该主题尚不存在

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

  • csharp/类/嵌套类.1764209988.txt.gz
  • 最后更改: 2025/11/27 10:19
  • 张叶安