0

我找到了这个网站: 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();

谢谢你

4

2 回答 2

3
namespace Elettric80.LgvManager
{
    class ConveyorStation : MachineStation // compiler is assuming you meant internal class
    {
      ...
    }
}

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

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

你的问题应该得到解决。


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

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

于 2013-10-03T21:04:15.387 回答
0

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

此外,请确保您有项目参考:

右键单击项目引用并添加对具有您要访问的值的项目的引用。 http://i.stack.imgur.com/6l5p4.png

于 2013-10-03T21:32:33.917 回答