使用時沒感覺有什么區別,見下面代碼:
static int Main(string[] args) {
ManagementClass diskClass =
new ManagementClass("Win32_LogicalDisk");
ManagementObjectCollection disks =
diskClass.GetInstances();
ManagementObjectCollection.ManagementObjectEnumerator
disksEnumerator =
disks.GetEnumerator();
while (disksEnumerator.MoveNext()) {
ManagementObject disk = (ManagementObject)disksEnumerator.Current;
//ManagementBaseObject disk = disksEnumerator.Current;//這樣也可以啊,為什么還要強轉?
Console.WriteLine(
"Disk found: " + disk["deviceid"]);
}
return 0;
}
uj5u.com熱心網友回復:
看名字就知道 后者是前者的基類,基類和派生類有何區別? 你跟你爸有何區別?uj5u.com熱心網友回復:
有時候使用起來沒有什么不同,可以得到相同的結果。
uj5u.com熱心網友回復:
各自F2進去看看了uj5u.com熱心網友回復:
在我貼的這段代碼里,這兩個類使用效果是一樣的,不太理解.
uj5u.com熱心網友回復:
或許只是名稱不一樣呢
uj5u.com熱心網友回復:
你在ManagementObject 上 F12,看他是不是繼承自 ManagementBaseObjectuj5u.com熱心網友回復:
你在ManagementObject 上 F12,看他是不是繼承自 ManagementBaseObject
是子類無疑,我只是不明白為什么要強制轉成子類,這是msdn上的例子。
uj5u.com熱心網友回復:
你在ManagementObject 上 F12,看他是不是繼承自 ManagementBaseObject
是子類無疑,我只是不明白為什么要強制轉成子類,這是msdn上的例子。
因為子類有父類沒有的方法和屬性。
而且他既然能轉換為子類,說明進方法的時候,可能就是個子類。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/107483.html
標籤:C#
上一篇:對 COM 組件的呼叫回傳了錯誤 HRESULT E_FAIL error code是-2147467259
下一篇:task.run運行的順序是什么
