マシンの特定のセキュリティ設定をチェックする軽量アプリケーションを作成しようとしています。現在、私は現在の暗号化の状態を除いてすべてを持っています。しかし、私は以下のエラーが発生しています:foreach文を現在の定義に追加するにはどうすればよいですか?
"foreach文は、 'ComplianceGuide.ManagementObjectCollection'タイプの変数では動作できません。 「ComplianceGuide.ManagementObjectCollectionは、」私は定義を追加するために行くん
「GetEnumeratorメソッド」の公開定義が含まれていません?C#は時々とても混乱しています。ビデオチュートリアルは素晴らしいだろう。
public class MyWMIQuery
{
public static void Main()
{
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2\\Security\\MicrosoftVolumeEncryption",
"SELECT * FROM Win32_EncryptableVolume");
foreach (System.Management.ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_EncryptableVolume instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("ProtectionStatus: {0}", queryObj["ProtectionStatus"]);
}
}
catch (ManagementException e)
{
MessageBox.Show("An error occurred while querying for WMI data: " + e.Message);
}
}
}
「定義を追加する場所はどこですか?」それをクラスに直接追加するか、 'IEnumerable'または' IEnumerable 'を実装してクラスに追加します。 –
「ビデオチュートリアルはすばらしいですね」 - [他の人もそうだと思う](https://www.google.com/search?q=c%23+video+tutorials) –
@DStanley JoeがIEnumerableを既に実装している標準クラス(https://msdn.microsoft.com/en-us/library/system.management.managementobjectcollection(v=vs.110).aspx)。 –