c# - 确保类 A 只能由类 B 创建

标签 c# constructor factory

我已经在 SO(和其他地方)上阅读了关于这个主题的大量讨论,但无法收集到明确的答案。

我想确保给定的类 A 只能由特定的类 B 创建。在 C++ 中,我会将 A 的构造函数设为私有(private),并将 B 指定为友元。现在只有 B 可以创建 A。

如果确实存在的话,在 C# 中执行此操作的惯用方法是什么?

最佳答案

您可以为此使用一个私有(private)内部类。

但是,这是有限的用途。

class B
{
  private class A
  {
  }
}

关于c# - 确保类 A 只能由类 B 创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505964/

相关文章:

c# - 在 Windows 窗体中设置文本框编码

kotlin - Kotlin-可扩展的类型安全的构建器

error-handling - Ninject ToFactory 不使用参数

c# - 存储过程看不到在同一连接中创建的临时表

c# - 如何在 UWP 应用程序中创建文件夹?

generics - 单个构造函数的通用边界

c++ - 如何在 C++ 中声明一个 friend 是另一个尚未定义的类的成员函数?

c++ - 构造函数和拷贝构造函数

javascript - 一个元素上具有相同类的 jQuery 多个小部件可能吗?

c# - Interop 进程后无法关闭 Excel.exe