从另一个内部子类继承内部基类

时间:2014-10-02 06:47:40

标签: c# internal

我在MyProject中有一个内部类。我的UnitTestProject中有另一个内部类。我想从UnitTestProject.internalClass继承MyProject.internalClass。但我无法继承。这是我的代码。

namespace MyProject.Data
{
    internal class BaseClass
    {

    }
}


namespace MyUnitTests.Data
{
    internal class TestClass: BaseClass
    {

    }
}

我在UnitTests项目中添加了引用MyProject.dll。但我还是不能继承。我不确定我做的方式是对还是错。请给我任何建议?

3 个答案:

答案 0 :(得分:0)

内部意味着该类仅对程序集本身可见。 将BaseClass更改为public

由于我们似乎在这里处理测试,因此请查看InternalsVisibleTo以保持基类内部,但允许显式(例如测试)程序集看到它。

答案 1 :(得分:0)

InternalsVisibleToAttribute。您应该将此属性放入AssemblyInfo.cs中以用于MyProject程序集:

[assembly:InternalsVisibleTo("MyUnitTests")]

答案 2 :(得分:0)

内部类仅在定义它们的程序集中可见。因此,默认情况下无法从另一个程序集访问一个程序集中的内部类。

为此,您可以使用InternalsVisibleToAttribute