比如:
我在WMI查询的时候首先是:SELECT * FROM Win32_Service 将所有的内容获取
之后我使用:// 由于代码不在手上,以下用很多注释代替。请见谅。
// mosSearcher 是ManagementObjectSearcher对象
ManagementObjectCollection srvCollection = mosSearcher.Get();
foreach(ManagementObject srv in srvCollection)
{
if(srv["Name"].ToString() == "PlugPlay")
{
// 两个foreach主要是想实现 ASSOCIATORS OF {Result} WHERE AssocClass=RsClassName ResultClass=RlClassName
// 但不知道怎么回事,我这里就的不出想要的结果,C#应该是这样写的吧?
foreach(ManagementObject subObj in srv.GetRelationships("RsClassName"))
{ // RsClassName 是 相关连的类名。
// 程序运行到这里,都还能获取到正确值subObj里面是我想要的
foreach(ManagementObject subObj2 in subObj.GetRelated("RlClassName"))
{
// 程序到这里就没有获取到结果,不报错...
Console.WriteLine(subObj2["PropertyName"]);// 这里的PropertyName是某个属性值。
}
}
}
}
以上是想在C#中实现ASSOCIATORS OF中的WHERE子句中的方法,不知道哪里错了,哪位兄台指点一下,在这里先表示感谢!
我在WMI查询的时候首先是:SELECT * FROM Win32_Service 将所有的内容获取
之后我使用:// 由于代码不在手上,以下用很多注释代替。请见谅。
// mosSearcher 是ManagementObjectSearcher对象
ManagementObjectCollection srvCollection = mosSearcher.Get();
foreach(ManagementObject srv in srvCollection)
{
if(srv["Name"].ToString() == "PlugPlay")
{
// 两个foreach主要是想实现 ASSOCIATORS OF {Result} WHERE AssocClass=RsClassName ResultClass=RlClassName
// 但不知道怎么回事,我这里就的不出想要的结果,C#应该是这样写的吧?
foreach(ManagementObject subObj in srv.GetRelationships("RsClassName"))
{ // RsClassName 是 相关连的类名。
// 程序运行到这里,都还能获取到正确值subObj里面是我想要的
foreach(ManagementObject subObj2 in subObj.GetRelated("RlClassName"))
{
// 程序到这里就没有获取到结果,不报错...
Console.WriteLine(subObj2["PropertyName"]);// 这里的PropertyName是某个属性值。
}
}
}
}
以上是想在C#中实现ASSOCIATORS OF中的WHERE子句中的方法,不知道哪里错了,哪位兄台指点一下,在这里先表示感谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货