1

以下のスニペットでは、コメント行によって System.Management.ManagementException がスローされ、「Invalid Class」というメッセージが表示されます。ただし、コレクションを反復した に Count プロパティを参照すると問題なく動作します。

このコードは、機能していたが失敗し始めた単体テストからのものです。何が変わったのか特定できませんでした。

ManagementScope scope = new ManagementScope(@"root\mypath");
scope.Options.Impersonation = ImpersonationLevel.Impersonate;
ObjectQuery query = new ObjectQuery("SELECT * FROM myclass");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);
ManagementObjectCollection result = searcher.Get();
//int count = result.Count // throws exception
foreach (ManagementObject mo in result)
{
    Console.WriteLine(mo.Path);
}
int count = result.Count // no problem

何か案は?

4

0 に答える 0