ManagementClass.GetSubclasses 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回類別所有衍生類別的集合。
多載
GetSubclasses() |
傳回類別所有子類別的集合。 |
GetSubclasses(EnumerationOptions) |
使用指定的選項,擷取類別的子類別。 |
GetSubclasses(ManagementOperationObserver) |
以非同步方式傳回衍生自此類別之所有類別的集合。 |
GetSubclasses(ManagementOperationObserver, EnumerationOptions) |
使用指定的選項,以非同步方式擷取衍生自此類別的所有類別。 |
備註
.NET Framework 安全性
完全信任立即呼叫者。 這個成員無法供部分信任的程式碼使用。 如需詳細資訊,請參閱 使用部分信任程式代碼的連結庫。
GetSubclasses()
傳回類別所有子類別的集合。
public:
System::Management::ManagementObjectCollection ^ GetSubclasses();
public System.Management.ManagementObjectCollection GetSubclasses ();
member this.GetSubclasses : unit -> System.Management.ManagementObjectCollection
Public Function GetSubclasses () As ManagementObjectCollection
傳回
ManagementObject 物件的集合,表示 WMI 類別的子類別。
範例
下列範例會 GetSubclasses 使用 方法來將子類別列出至 CIM_LogicalDisk 類別。 如需詳細資訊,請參閱 CIM_LogicalDisk。
using System;
using System.Management;
public class Sample
{
public static void Main()
{
ManagementClass c =
new ManagementClass("CIM_LogicalDisk");
foreach (ManagementClass r in c.GetSubclasses())
{
Console.WriteLine(
"Instances of {0} are sub-classes",
r["__CLASS"]);
}
foreach (ManagementClass r in c.GetRelationshipClasses())
{
Console.WriteLine(
"{0} is a relationship class to " +
c.ClassPath.ClassName,
r["__CLASS"]);
foreach (ManagementClass related in c.GetRelatedClasses(
null, r.ClassPath.ClassName,
"Association", null, null, null, null))
{
Console.WriteLine(
"{0} is related to " + c.ClassPath.ClassName,
related.ClassPath.ClassName);
}
}
return;
}
}
Imports System.Management
Class Sample
Public Overloads Shared Function _
Main(ByVal args() As String) As Integer
Dim c As ManagementClass
c = New ManagementClass("CIM_LogicalDisk")
For Each r As ManagementClass In c.GetSubclasses()
Console.WriteLine( _
"Instances of {0} are sub-classes", _
r("__CLASS"))
Next
For Each r As ManagementClass In c.GetRelationshipClasses()
Console.WriteLine( _
"{0} is a relationship class to " & _
c.ClassPath.ClassName, _
r("__CLASS"))
For Each related As ManagementClass In c.GetRelatedClasses( _
Nothing, r.ClassPath.ClassName, "Association", Nothing, _
Nothing, Nothing, Nothing)
Console.WriteLine( _
"{0} is related to " & c.ClassPath.ClassName, _
related.ClassPath.ClassName)
Next
Next
End Function
End Class
備註
.NET Framework 安全性
完全信任立即呼叫者。 這個成員無法供部分信任的程式碼使用。 如需詳細資訊,請參閱 使用部分信任程式代碼的連結庫。
適用於
GetSubclasses(EnumerationOptions)
使用指定的選項,擷取類別的子類別。
public:
System::Management::ManagementObjectCollection ^ GetSubclasses(System::Management::EnumerationOptions ^ options);
public System.Management.ManagementObjectCollection GetSubclasses (System.Management.EnumerationOptions options);
member this.GetSubclasses : System.Management.EnumerationOptions -> System.Management.ManagementObjectCollection
Public Function GetSubclasses (options As EnumerationOptions) As ManagementObjectCollection
參數
- options
- EnumerationOptions
指定的其他選項,用來擷取類別的子類別。
傳回
ManagementObject 物件的集合,表示 WMI 類別的子類別 (根據指定的選項)。
範例
下列範例示範如何使用建ManagementClass構函式初始化ManagementClass變數,然後接收傳入建構函式之WMI 類別的子類別。
using System;
using System.Management;
public class Example
{
public static void Main()
{
EnumerationOptions opt = new EnumerationOptions();
// Causes return of deep subclasses
// as opposed to only immediate ones.
opt.EnumerateDeep = true;
ManagementObjectCollection subclasses = (new
ManagementClass("CIM_LogicalDisk")).GetSubclasses(opt);
foreach(ManagementClass subclass in subclasses)
{
Console.WriteLine( "Subclass found: {0}" ,
subclass["__CLASS"]);
}
return;
}
}
Imports System.Management
Public Class Sample
Public Shared Function Main(ByVal args() _
As String) As Integer
Dim opt As New EnumerationOptions
' Causes return of deep subclasses
' as opposed to only immediate ones.
opt.EnumerateDeep = True
Dim cls As New ManagementClass("CIM_LogicalDisk")
Dim subclasses As ManagementObjectCollection
subclasses = cls.GetSubclasses(opt)
For Each subclass As ManagementClass In subclasses
Console.WriteLine("Subclass found: {0}", _
subclass("__CLASS"))
Next
Return 0
End Function
End Class
備註
.NET Framework 安全性
完全信任立即呼叫者。 這個成員無法供部分信任的程式碼使用。 如需詳細資訊,請參閱 使用部分信任程式代碼的連結庫。
適用於
GetSubclasses(ManagementOperationObserver)
以非同步方式傳回衍生自此類別之所有類別的集合。
public:
void GetSubclasses(System::Management::ManagementOperationObserver ^ watcher);
public void GetSubclasses (System.Management.ManagementOperationObserver watcher);
member this.GetSubclasses : System.Management.ManagementOperationObserver -> unit
Public Sub GetSubclasses (watcher As ManagementOperationObserver)
參數
- watcher
- ManagementOperationObserver
要處理非同步作業進度的物件。
備註
.NET Framework 安全性
完全信任立即呼叫者。 這個成員無法供部分信任的程式碼使用。 如需詳細資訊,請參閱 使用部分信任程式代碼的連結庫。
適用於
GetSubclasses(ManagementOperationObserver, EnumerationOptions)
使用指定的選項,以非同步方式擷取衍生自此類別的所有類別。
public:
void GetSubclasses(System::Management::ManagementOperationObserver ^ watcher, System::Management::EnumerationOptions ^ options);
public void GetSubclasses (System.Management.ManagementOperationObserver watcher, System.Management.EnumerationOptions options);
member this.GetSubclasses : System.Management.ManagementOperationObserver * System.Management.EnumerationOptions -> unit
Public Sub GetSubclasses (watcher As ManagementOperationObserver, options As EnumerationOptions)
參數
- watcher
- ManagementOperationObserver
要處理非同步作業進度的物件。
- options
- EnumerationOptions
要用於衍生類別擷取的其他指定選項。
備註
.NET Framework 安全性
完全信任立即呼叫者。 這個成員無法供部分信任的程式碼使用。 如需詳細資訊,請參閱 使用部分信任程式代碼的連結庫。