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