但不在自己的集会内。这是可能的还是有意义的,而不使用抽象(即使这不会让我们在程序集中使用)关键字在基类上?
这会出错:
internal Foo<T>{} // trying to stop this being directly used
public Bar:Foo<float>{} // inconsistent visibility, need this to be served
这也是:
public sealed Foo<T>{}
public Bar:Foo<float>{} // cannot derive from sealed class
使基类保护/私有也没有帮助。
它可能是一个接口,但我希望基本代码只写一次(接口强制所有实现它的类重复代码),基类只有1个虚方法,实现2个接口,非重复方法包含%90它的身体。
我希望基类不像接口那样不可用(但可以在自己的库程序集中使用),但是也只有一次定义了许多方法和属性,并且还实现了一些其他接口并且有一个虚方法但没有任何抽象方法。
关键字摘要是否有任何副作用,比如窃听类型检查代码以赋予true而不是false,或者对编译器进行一些优化,或者在C#.Net的新版本或旧版本之间存在不兼容性?
虽然我可以在它的程序集(库)中使用它,但保护它不受其他库的影响 是不可能的?