首页 新闻 会员 周边

在使用ManagementObject.invokeMethod的时候出现“类型转换异常”

0
悬赏园豆:50 [待解决问题]

如题

public static bool setDNS(string dns)
        {
            bool result = true;
            ManagementClass mcNetworkAdapter = new ManagementClass("Win32_NetworkAdapter");
            ManagementClass mcNetworkConfiguration = new ManagementClass("Win32_NetworkAdapterConfiguration");
            foreach (ManagementObject mo in mcNetworkConfiguration.GetInstances())
            {
                if ((bool)mo["IPEnabled"] == true)
                {
                    //mo.InvokeMethod("SetDNSServerSearchOrder", new string[]{dns});
                    mo.InvokeMethod("SetDNSServerSearchOrder",new Object[]{dns,""});
                    foreach (ManagementObject mo2 in mcNetworkAdapter.GetInstances())
                    {
                        if ((int)mo2["index"] == (int)mo["index"])
                        {
                            mo2.InvokeMethod("Disable", new object[] { });
                            mo2.InvokeMethod("Enable", new object[] { });
                            break;
                        }
                    }
                }
            }

            return result;
        }
执行到这一句的时候 mo.InvokeMethod("SetDNSServerSearchOrder",new Object[]{dns,""})
出现[无法将类型为“System.String”的对象强制转换为类型“System.Array""异常……
无解中……
aocshallo的主页 aocshallo | 初学一级 | 园豆:152
提问于:2012-11-26 16:42
< >
分享
所有回答(2)
0

看下这个

InvokeMethod要求的参数
chenping2008 | 园豆:9836 (大侠五级) | 2012-11-26 21:19
0
SetDNSServerSearchOrder 方法需要一个数组形式的dns,而你传入的是一个字符串的,所以出错,你可以将这个字符串分割下
az235 | 园豆:8483 (大侠五级) | 2012-11-28 12:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册