0

我的解决方案包含几个项目,包括CommonsTerminatorConsole2. 现在我想从文件中引用Commons.Constants类:TerminatorConsole2.Utils.Constants

namespace TerminatorConsole2.Utils
{
    class Constants
    {
        public const string MANAGEMENT_CONSOLE_ADDRESS =
            Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
                "net.pipe://localhost/xxx" :
                "net.pipe://localhost";

但是我在“Commons”上收到“无法解析符号”。添加“使用 Commons”没有帮助,我收到同样的错误。

为什么一个项目不能使用同一解决方案的另一个项目中的类?

UPD添加Constants类。但是我已经在另一个项目中使用了它,所以我认为这个类是可以的:

namespace Commons
{

public class Constants
{
    public const int MAX_INSTRUMENTS_NUMBER_IN_SYSTEM = 200;
    public const bool USE_EXTRA_WCF_INSTANCE = true;
}

}
4

3 回答 3

2

默认情况下,类的范围是内部的,这意味着可以在该程序集中访问 将类公开以使其可供其他程序集访问。有关访问修饰符的更多信息还要确保您添加了您正在引用的程序集的引用。

改变

class Constants
    {
        public const string MANAGEMENT_CONSOLE_ADDRESS =
            Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
                "net.pipe://localhost/xxx" :
                "net.pipe://localhost";

public class Constants
    {
        public const string MANAGEMENT_CONSOLE_ADDRESS =
            Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
                "net.pipe://localhost/xxx" :
                "net.pipe://localhost";
于 2012-10-06T09:01:20.270 回答
0

试试这个:添加public到类Constants

namespace TerminatorConsole2.Utils
{
    public class Constants
    {
        public const string MANAGEMENT_CONSOLE_ADDRESS =
            Commons.Constants.USE_EXTRA_WCF_INSTANCE ?
                "net.pipe://localhost/xxx" :
                "net.pipe://localhost";
    }
 }
于 2012-10-06T09:08:50.653 回答
0

jeroenh在评论中正确回答了这个问题......我需要添加参考。

我不需要声明 class public,因为只有使用的 class 应该是 public。“使用”的类不必公开。

于 2012-10-06T09:20:02.913 回答