我需要在不同的方法,类和文件中引用变量的值,而不是我当前所使用的。我是C#的新手,并且仍然试图获得这些概念。
我的基本结构:
namespace Planning
{
public class Service
{
public bool AddRoute(l, m, n)
{
bool variable = xyz;
}
}
}
我需要从完全不同的文件中访问该变量。我已经看过这里已经发布的几个问题,但是没有处理我试图访问的确切级别或如何从具有我当时无法访问的参数的方法访问变量。
答案 0 :(得分:1)
我希望我不要再混淆你了。
另一个班级中的"变量"应该是该类的财产。您需要确保它是公共的,然后,您需要AddRoute
方法获取该属性集的该类的实例。然后,您可以使用otherClassInstance.xyz
。
如果上述内容让您感到困惑,我建议从一开始就开始学习面向对象编程,然后再尝试任何编码。
答案 1 :(得分:0)
这不能用公共财产来完成吗?
public class Service
{
public bool MyVariable { get; set; }
public bool AddRoute(l, m, n)
{
MyVariable = xyz;
}
}
答案 2 :(得分:0)
简短的回答:你不能,期间。
可以做的是设置public
成员变量:
namespace Planning
{
public class Service
{
public bool variable;
public bool AddRoute(l, m, n)
{
variable = xyz;
}
}
}
但公共成员变量是不受欢迎的,有充分的理由。
更好的是,添加一个只读属性,该属性返回私有成员变量的值:
namespace Planning
{
public class Service
{
private bool variable;
public bool Variable
{
get
{
return variable;
}
}
public bool AddRoute(l, m, n)
{
variable = xyz;
}
}
}
然后从其他地方来:
Planning.Service myObj = new Planning.Service();
myObj.AddRoute(1,2,3);
if (myObj.Variable)
{
// ...
}
答案 3 :(得分:0)
在您的情况下,您可以将该变量设置为方法的返回参数:
namespace Planning
{
public class Service
{
public bool AddRoute()
{
bool variable = true;
return variable;
}
}
}
来自不同班级的电话:
namespace Planning
{
public class AnotherClass
{
public void DoSomething()
{
Service service = new Service();
bool otherVariable = service.AddRoute();
}
}
}
现在,AddRoute方法变量的值在另一个类的otherVariable中。