如何创建一个抽象的类,但不是内部的类

Blu*_*lub 6 c#

这有可能在c#中以某种方式吗?这是我需要它的确切情况:他(用户)必须无法创建此类的实例.但是,我希望能够在我的项目中创建此类的实例.(因此:内部)其他类应该能够从中继承.我想强制用户只使用更大的Sound类.大"BUT":如果我将它提供给他,用户必须能够使用这个类的实例,这就是为什么我不能把它作为内部并完成它.我也不能把它抽象化,因为我想自己制作副本.我想过只向用户提供IChannel之类的接口,但这并不能解决我不应该创建Channel实例的问题.如果他找的话,他仍然可以看到班级,如果他足够冒险甚至尝试创建一个实例.但正如我之前提到的:我无法将其抽象化,因为我需要在内部制作副本.

感谢您的帮助!

Pao*_*olo 8

您应该能够将构造函数声明为internal,将类本身声明为public.应该(我认为)给你你想要的东西.


Mar*_*rth 6

internal构造函数不应该解决问题吗?这样只有你的程序集可以创建实例,但用户仍然可以不受限制地使用实例.


Yur*_*ich 5

内部构造函数.