我找到了这个网站: 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();
谢谢
答案 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
(无法从其他程序集访问)。
此外,确保您有项目参考:
右键单击项目引用,并添加对具有您要访问的值的项目的引用。