-2

我有几个项目的解决方案

起初,Assembly name = B, Default namespace = B 在源代码中,我定义了一些带有 Namespace BC 的类 No Compilation error

现在我将所有程序集名称从 B 更改为 A,默认命名空间保持为 B

然后我得到编译错误,据说是由于保护级别

对此有任何想法吗?

4

1 回答 1

0

很可能您省略了类可见性标识符(您知道,所有这些publicprotected等等private)。默认情况下,如果我没记错的话,如果你省略了类可见性声明,C# 会假定它是internal并且关于它有一个很好的问题),所以它对你的调用方法不可见。

最简单的方法是将这些类显式标记为公共,例如

public class YOURCLASSNAME {
     //other stuff you have
}

但是您应该考虑在您的情况下公开课程是否有意义。封装 OOP 原则(在某种程度上)意味着您必须避免声明一切public

无论如何,一些代码示例可以使这个问题成为一个可以回答的问题。现在只是猜测和心理调试。

于 2012-09-12T13:04:18.533 回答