从其他名称空间访问变量

我是C#的新手,编程一般我的问题是如何调用不同命名空间中的变量? 如果我有这个代码

public void servicevalues(string _servicename) { string servicename = _servicename; string query = string.Format("SELECT * FROM Win32_Service WHERE Name ='{0}'", servicename); ManagementObjectSearcher moquery = new ManagementObjectSearcher(query); ManagementObjectCollection queryCollection = moquery.Get(); foreach (ManagementObject service in queryCollection) { string serviceId = Convert.ToString(service["DisplayName"]); bool serviceResult = Convert.ToBoolean(service["Started"]); } 

我在服务名称中传递如何从不同的命名空间调用一个或多个变量值?

通常,变量不仅仅位于命名空间中,而是存在于另一个可能位于另一个命名空间中的类中。 如果需要访问另一个类中的变量(在另一个名称空间中),则另一个类需要以某种方式公开变量。 通常的做法是为变量使用公共属性(如果只需要访问该变量,则为static)。

 namespace My.Namespace { public class MyClassA { public void MyMethod() { // Use value from MyOtherClass int myValue = My.Other.Namespace.MyOtherClass.MyInt; } } } namespace My.Other.Namespace { public class MyOtherClass { private static int myInt; public static int MyInt { get {return myInt;} set {myInt = value;} } // Can also do this in C#3.0 public static int MyOtherInt {get;set;} } } 

要添加到Andy的答案,您还可以通过在My.Namespace声明上方添加以下内容来缩短对MyInt属性的调用:

 using My.Other.Namespace 

如果你这样做,那么你对MyInt属性的调用将如下所示:

 int MyValue = MyOtherClass.MyInt