Public Abstract类上受保护方法的内部参数

时间:2015-07-28 11:20:34

标签: c#

我有一个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)?

编辑:更改代码以使用命名空间 - 现在它不会编译:)

0 个答案:

没有答案