use*_*010 2 c# factory .net-assembly
我为一个程序集写了一个类,它只能由这个程序集中的工厂实例化.
大会外:
MyClass myClass = factoryInstance.GetInstanceOfMyClass();
Run Code Online (Sandbox Code Playgroud)
应该禁止在外面实施这门课程
禁止:
MyClass myClass = new MyClass();
Run Code Online (Sandbox Code Playgroud)
我见过一些复杂的方法.有一种我想念的简单方法吗?
最简单的方法应该是构造函数internal:
public class MyClass
{
internal MyClass()
{
}
}
Run Code Online (Sandbox Code Playgroud)
只要您的工厂方法位于同一个程序集中,它就能够创建您的类的实例,但程序集之外的任何代码都无法执行此操作.