类只能在同一个文件中创建,其他用户只能引用它

本文关键字:其他 用户 引用 同一个 文件 创建 | 更新日期: 2023-09-27 18:35:47

这个问题是以下问题的延续:基本 OOP 相关查询

如何确保OutputClass对象只能在同一个文件(api.cs)中创建,即

OutputClass object1 = new ObjectClass(3);
而 API 的用户

不应该能够为这个类创建新的存储,而只能在从 API 提供它时引用它,即 API 的用户应该只能执行以下操作:

OutputClass object1

而如果他试图创建一个新的 ObjectClass,这应该是不可能的。

类只能在同一个文件中创建,其他用户只能引用它

你可以使构造函数internalprivate

public class OutputClass
{
    internal OutputClass()
    {
    }
}

internal意味着可以从同一程序集中的任何类(而不仅仅是.CS文件)调用它。 private意味着它只能从该类中调用(通常通过静态工厂方法)。

你可以将OutputClass的构造函数声明为private,假设该类中有一些机制来创建实例。 否则,internal修饰符可能更合适。

class OutputClass
{
    private OutputClass()
    {
        // inaccessible to anything but OutputClass methods
    }
  }