我有一个public abstract class
,其构造函数标记为internal
。这使得类在外部可见,但只能在程序集内部继承。现在我想添加一个带protected
参数的internal class
方法。这听起来很可能,因为由于构造函数的限制,外部类无法继承抽象类;因此,该方法仅在内部使用,仅由子类使用;因此,参数类引用将严格保留在程序集内。
然而,我得到了令人尊敬的错误:
错误CS0051可访问性不一致:参数类型“X”比方法“Y.Do(X)”
更难访问
以下是代码:
namespace SomeNamespace.One
{
public abstract class Y
{
internal Y()
{ }
protected void Do(Two.X x)
{ }
}
}
namespace SomeNamespace.Two
{
internal abstract class X
{ }
}
有可能做这样的事吗?任何建议(除了制作Do()internal
)?
编辑:更改代码以使用命名空间 - 现在它不会编译:)