由于程序集名称更改,无法访问类

时间:2012-09-12 12:53:12

标签: c# namespaces .net-assembly

我有几个项目的解决方案

首先,程序集名称= B,默认名称空间= B. 在源代码中,我使用Namespace B.C.定义了一些类。没有编译错误

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

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

对此有何想法?

1 个答案:

答案 0 :(得分:0)

您很可能省略了类可见性标识符(您知道,所有这些publicprotectedprivate内容。默认情况下,如果我没有误会,如果省略类可见性声明,C#会假定它是internaland there's a good question on SO about it),所以它对您的调用方法不可见。

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

public class YOURCLASSNAME {
     //other stuff you have
}

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

无论如何,一些代码示例可能会使此问题成为 answerable 问题。现在只是猜测和心灵调试。