【问题标题】:Access a value from one project in another从另一个项目中访问一个值
【发布时间】:2013-10-04 06:32:23
【问题描述】:

我找到了这个网站: How to use a Class from one C# project with another C# project

但是,我要访问的类如下。我正在使用命名空间来访问该值,但不起作用。 项目B

namespace Elettric80.LgvManager
{
    class ConveyorStation : MachineStation 
    {
         public ConveyorStation(LGVManager lgvManager, string name, uint depth, 
                                uint width, uint maxLevels)
            : base(lgvManager, name, depth, width, maxLevels)
         {
         }
    }
}

这就是我尝试访问的方式: 项目A

using Elettric80.LgvManager;

private ConveyorStation conveyorStation;

txtvalue.text = conveyorStation.value.ToString();

谢谢你

【问题讨论】:

  • 您是否以某种方式初始化项目 A 中的现场传送站?

标签: c# visual-studio-2010


【解决方案1】:
namespace Elettric80.LgvManager
{
    class ConveyorStation : MachineStation // compiler is assuming you meant internal class
    {
      ...
    }
}

您需要将 Conveyor station 设为“公共”类。不指定它会使编译器假定您的意思是“内部”类,它只允许从同一个程序集中进行访问。将其更改为:

namespace Elettric80.LgvManager
{
    public class ConveyorStation : MachineStation 
    {
      ...
    }
}

你的问题应该得到解决。


更完整;可以找到不同级别的访问级别here (MSDN - Accessibility Levels).。此问题的相关引用:

不嵌套在其他类型中的顶级类型只能具有内部或公共可访问性。这些类型的默认可访问性是内部的。

【讨论】:

    【解决方案2】:

    ConveyorStation 类的访问修饰符指定为public,因为默认情况下访问修饰符是internal(不能从其他程序集访问)。

    另外,确保您有项目参考:

    右键单击项目引用并添加对具有您要访问的值的项目的引用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-28
      • 2022-12-28
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多