2017-08-08 28 views
0

我几乎用现有的代码在新文件中创建一个新类。我正在使用现有的代码来创建一个测试类。其中一个声明没有编译,并在Resharper中给我一个红色警告,说明:如何解决C#中的错误“无法访问内部类”错误?

无法在此处访问内部类“...”。

我正在使用定义类的命名空间。我还有什么遗漏?

+2

如果您谈论您的“现有代码”或重复使用第三方程序集,这是相当不清楚的。如果是第三方组装,请停止使用内部类。如果作者决定通过设计使其成为内部的话,那么有一些理由要这样做。 –

回答

3

您应该将班级标记为public而不是internal

即使您使用适当的命名空间,这也是合理的,为什么你会得到这样的错误。原因是你通过public类暴露internal类,这是不允许的。一个internal类可以被访问只有按类定义的组件中的类型或可以查看程序集内部类的程序集(请看InternalsVisibleToAttribute)。

相关问题