我可以制作"密封除内部类型"之外的类型

Luc*_*jer 10 c# internal sealed

我想创建一个可以从同一程序集中的类型继承的类型,但不能从程序集外部继承.我确实希望类型在程序集之外可见.

这可能吗?

dtb*_*dtb 18

你可以使构造函数内部:

public class MyClass
{
    internal MyClass() { }
}
Run Code Online (Sandbox Code Playgroud)

从基类派生的每个类都必须在其构造函数中调用基类的构造函数.如果基类位于不同的程序集中,则无法调用构造函数,因此派生类不会编译.

  • @tanascius:例如添加工厂方法? (4认同)
  • 以及如何在程序集外创建实例? (3认同)
  • `public class EvilInternalClass:MyClass {public EvilInternalClass(){}}` (3认同)