如何使用可访问性较差的参数派生公共泛型类,而不会出现不一致的可访问性错误
本文关键字:访问 不一致 错误 何使用 参数 派生 泛型类 | 更新日期: 2023-09-27 18:02:32
我有类ImplementationDetail
,我想保持内部,例如:
internal class ImplementationDetail
{
}
我有GenericBaseClass
私下使用它的参数,例如:
public class GenericBaseClass<T>
{
private T useImplementationDetail;
}
并且,我有一个指定使用ImplementationDetail
的Derived
类,例如:
public class DerivedClass: GenericBaseClass<ImplementationDetail>
{
}
这导致错误CS0060不一致的可访问性;这是因为ImplementationDetail
是internal
,而DerivedClass
是public
。如何在保持ImplementationDetail
internal
的同时避免CS0060编译器错误?
不要使用内部类,而是使用接口。然后对您希望保持私有的方法使用显式实现。这样,它们就不会暴露。
这是不可能的。
必须使用公共接口或类。请看@DavidG, @Jonesopolis的评论