ManagementObject.Get 方法

定义

绑定到管理对象。

重载

名称 说明
Get()

将 WMI 类信息绑定到管理对象。

Get(ManagementOperationObserver)

以异步方式绑定到管理对象。

注解

.NET Framework 安全性

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

Get()

Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs

将 WMI 类信息绑定到管理对象。

public:
 void Get();
public void Get();
member this.Get : unit -> unit
Public Sub Get ()

示例

以下示例调用 Get 该方法以获取类的 ManagementObject 实例。

using System;
using System.Management;

class Sample
{
    public static int Main(string[] args)
    {
        ManagementObject o =
            new ManagementObject("MyClass.Name='abc'");

        //this causes an implicit Get().
        string s = o["Name"].ToString();

        Console.WriteLine(s);

        //or :

        ManagementObject mObj =
            new ManagementObject("MyClass.Name= 'abc'");
        mObj.Get(); //explicitly
        // Now it is faster because the object
        // has already been retrieved.
        string property = mObj["Name"].ToString();

        Console.WriteLine(property);

        return 0;
    }
}
Imports System.Management

Class Sample_ManagementClass
    Public Overloads Shared Function Main( _
        ByVal args() As String) As Integer

        Dim o As New ManagementObject( _
            "MyClass.Name=""abc""")

        'this causes an implicit Get().
        Dim s As String = o("SomeProperty")

        Console.WriteLine(s)

        'or :

        Dim mObj As New ManagementObject("MyClass.Name= ""abc""")
        mObj.Get()  'explicitly 
        ' Now it is faster because the object
        ' has already been retrieved.
        Dim p As String = mObj("SomeProperty")

        Console.WriteLine(p)

        Return 0
    End Function
End Class

注解

首次尝试获取或设置 WMI 对象的信息时,将隐式调用该方法。 还可以根据用户的判断显式调用它,以更好地控制检索的计时和方式。

.NET Framework 安全性

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

适用于

Get(ManagementOperationObserver)

Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs
Source:
ManagementObject.cs

以异步方式绑定到管理对象。

public:
 void Get(System::Management::ManagementOperationObserver ^ watcher);
public void Get(System.Management.ManagementOperationObserver watcher);
member this.Get : System.Management.ManagementOperationObserver -> unit
Public Sub Get (watcher As ManagementOperationObserver)

参数

watcher
ManagementOperationObserver

要作为事件接收操作结果的对象。

示例

以下示例调用 Get 该方法以异步方式获取类的 ManagementObject 实例。

using System;
using System.Management;

public class AsyncGetExample
{
    public AsyncGetExample()
    {
        ManagementObject o =
            new ManagementObject(
            "Win32_Process.Name='notepad.exe'");

        // Set up handlers for asynchronous get
        ManagementOperationObserver ob =
            new ManagementOperationObserver();
        ob.Completed += new
            CompletedEventHandler(this.Done);

        // Get the object asynchronously
        o.Get(ob);

        // Wait until operation is completed
        while (!this.Completed)
            System.Threading.Thread.Sleep (1000);

        // Here you can use the object
    }

    private bool completed = false;

    private void Done(object sender,
        CompletedEventArgs e)
    {
        Console.WriteLine("async Get completed !");
        completed = true;
    }

    private bool Completed
    {
        get
        {
            return completed;
        }
    }

    public static void Main()
    {
        AsyncGetExample example =
            new AsyncGetExample();
    }
}
Imports System.Management

Class AsyncGetExample

    Public Sub New()

        Dim o As New ManagementObject( _
            "Win32_Process.Name=""notepad.exe""")

        'Set up handlers for asynchronous get
        Dim ob As New ManagementOperationObserver
        AddHandler ob.Completed, AddressOf Me.Done

        'Get the object asynchronously
        o.Get(ob)

        'Wait until operation is completed
        While Not Me.Completed
            System.Threading.Thread.Sleep(1000)
        End While

        'Here you can use the object

    End Sub

    Private _completed As Boolean = False

    Private Sub Done(ByVal sender As Object, _
        ByVal e As CompletedEventArgs)
        Console.WriteLine("async Get completed !")
        _completed = True
    End Sub

    Private ReadOnly Property Completed() As Boolean
        Get
            Return _completed
        End Get
    End Property

    Public Overloads Shared Function Main( _
        ByVal args() As String) As Integer

        Dim example As New AsyncGetExample

        Return 0

    End Function


End Class

注解

该方法将发出获取对象的请求,然后立即返回。 然后,操作的结果将通过对提供的观察程序对象触发的事件传递。

.NET Framework 安全性

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

适用于