我有几个项目的解决方案
起初,Assembly name = B, Default namespace = B 在源代码中,我定义了一些带有 Namespace BC 的类 No Compilation error
现在我将所有程序集名称从 B 更改为 A,默认命名空间保持为 B
然后我得到编译错误,据说是由于保护级别
对此有任何想法吗?
我有几个项目的解决方案
起初,Assembly name = B, Default namespace = B 在源代码中,我定义了一些带有 Namespace BC 的类 No Compilation error
现在我将所有程序集名称从 B 更改为 A,默认命名空间保持为 B
然后我得到编译错误,据说是由于保护级别
对此有任何想法吗?
很可能您省略了类可见性标识符(您知道,所有这些public
,protected
等等private
)。默认情况下,如果我没记错的话,如果你省略了类可见性声明,C# 会假定它是internal
(并且关于它有一个很好的问题),所以它对你的调用方法不可见。
最简单的方法是将这些类显式标记为公共,例如
public class YOURCLASSNAME {
//other stuff you have
}
但是您应该考虑在您的情况下公开课程是否有意义。封装 OOP 原则(在某种程度上)意味着您必须避免声明一切public
。
无论如何,一些代码示例可以使这个问题成为一个可以回答的问题。现在只是猜测和心理调试。