从另一个项目中访问一个值

时间:2013-10-03 20:57:51

标签: c# visual-studio-2010

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

谢谢

2 个答案:

答案 0 :(得分:3)

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

您需要将Conveyor电台设为“公共”课程。如果没有指定,编译器会认为你的意思是“内部”类,它只允许从同一个程序集中进行访问。将其更改为:

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

你的问题应该解决了。


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

  

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

答案 1 :(得分:0)

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

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

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