ManagementClass.GetSubclasses 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回该类的所有派生类的集合。
重载
GetSubclasses() |
返回类的所有子类的集合。 |
GetSubclasses(EnumerationOptions) |
使用指定选项检索类的子类。 |
GetSubclasses(ManagementOperationObserver) |
异步返回从该类派生的所有类的集合。 |
GetSubclasses(ManagementOperationObserver, EnumerationOptions) |
使用指定选项异步检索从该类派生的所有类。 |
注解
.NET Framework 安全性
对直接调用方的完全信任。 此成员不能由部分信任的代码使用。 有关详细信息,请参阅 使用部分受信任的代码中的库。
GetSubclasses()
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
返回类的所有子类的集合。
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)
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
使用指定选项检索类的子类。
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)
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
异步返回从该类派生的所有类的集合。
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)
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
- Source:
- ManagementClass.cs
使用指定选项异步检索从该类派生的所有类。
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 安全性
对直接调用方的完全信任。 此成员不能由部分信任的代码使用。 有关详细信息,请参阅 使用部分受信任的代码中的库。