从另一个内部子类继承内部基类
本文关键字:内部 基类 继承 子类 另一个 | 更新日期: 2023-09-27 18:25:27
我在MyProject中有一个内部类。我的UnitTestProject中有另一个内部类。我想从UnitTestProject.internalClass继承MyProject.internal Class。但我无法继承。这是我的密码。
namespace MyProject.Data
{
internal class BaseClass
{
}
}
namespace MyUnitTests.Data
{
internal class TestClass: BaseClass
{
}
}
我在UnitTests项目中添加了引用MyProject.dll。但我还是不能继承。我不确定我的做法是对是错。请给我什么建议?
参见InternalsVisibleToAttribute
。您应该将此属性放入MyProject
程序集的AssemblyInfo.cs中:
[assembly:InternalsVisibleTo("MyUnitTests")]
Internal表示该类仅对程序集本身可见。将BaseClass
更改为public
。
由于我们似乎在这里处理测试,还可以查看InternalsVisibleTo以保持基类的内部,但允许显式(例如测试)程序集查看它。
内部类仅在定义的程序集中可见。因此,默认情况下,不可能从另一个程序集访问一个程序集中的内部类。
为此,可以使用InternalsVisibleToAttribute。