比如:
我在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子句中的方法,不知道哪里错了,哪位兄台指点一下,在这里先表示感谢!