ManagementObject.Get 方法

定义

绑定到管理对象。Binds to the management object.

重载

Get()

将 WMI 类信息绑定到管理对象。Binds WMI class information to the management object.

Get(ManagementOperationObserver)

异步绑定到管理对象。Binds to the management object asynchronously.

注解

.NET Framework 安全性.NET Framework Security

对直接调用方的完全信任。Full trust for the immediate caller. 此成员不能由部分信任的代码使用。This member cannot be used by partially trusted code. 有关详细信息,请参阅从部分受信任的代码使用库For more information, see Using Libraries from Partially Trusted Code.

Get()

将 WMI 类信息绑定到管理对象。Binds WMI class information to the management object.

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

示例

下面的示例调用 Get 方法来获取 ManagementObject 类的实例。The following example calls the Get method to get an instance of the ManagementObject class.

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 对象的信息时,将隐式调用方法。The method is implicitly invoked at the first attempt to get or set information to the WMI object. 还可以按用户的判断显式调用此方法,以便更好地控制检索的时间和方式。It can also be explicitly invoked at the user's discretion, to better control the timing and manner of retrieval.

.NET Framework 安全性.NET Framework Security

对直接调用方的完全信任。Full trust for the immediate caller. 此成员不能由部分信任的代码使用。This member cannot be used by partially trusted code. 有关详细信息,请参阅从部分受信任的代码使用库For more information, see Using Libraries from Partially Trusted Code.

Get(ManagementOperationObserver)

异步绑定到管理对象。Binds to the management object asynchronously.

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

将操作结果作为事件来接收的对象。The object to receive the results of the operation as events.

示例

下面的示例调用 Get 方法以异步获取 ManagementObject 类的实例。The following example calls the Get method to asynchronously get an instance of the ManagementObject class.

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

注解

方法将发出请求以获取对象,然后将立即返回。The method will issue the request to get the object and then will immediately return. 然后,操作的结果将通过在提供的观察程序对象上触发的事件传递。The results of the operation will then be delivered through events being fired on the watcher object provided.

.NET Framework 安全性.NET Framework Security

对直接调用方的完全信任。Full trust for the immediate caller. 此成员不能由部分信任的代码使用。This member cannot be used by partially trusted code. 有关详细信息,请参阅从部分受信任的代码使用库For more information, see Using Libraries from Partially Trusted Code.

适用于