Ado*_*s L 7 c# variables namespaces
我是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"]);
}
Run Code Online (Sandbox Code Playgroud)
我在服务名称中传递如何从不同的命名空间调用一个或多个变量值?
And*_*ite 11
通常,变量不仅仅位于命名空间中,而是存在于另一个可能位于另一个命名空间中的类中.如果需要访问另一个类中的变量(在另一个名称空间中),则另一个类需要以某种方式公开变量.通常的做法是为变量使用公共属性(如果只需要访问该变量,则为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;}
}
}
Run Code Online (Sandbox Code Playgroud)
要添加到 Andy 的答案,您还可以通过在 My.Namespace 声明上方添加以下内容来缩短对 MyInt 属性的调用:
using My.Other.Namespace
Run Code Online (Sandbox Code Playgroud)
如果您这样做,那么对 MyInt 属性的调用将如下所示:
int MyValue = MyOtherClass.MyInt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42556 次 |
| 最近记录: |