ManagementClass.GetSubclasses 方法

定义

返回该类的所有派生类的集合。

重载

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 安全性

对直接调用方的完全信任。 此成员不能由部分信任的代码使用。 有关详细信息,请参阅 使用部分受信任的代码中的库

适用于