ManagementReferenceAttribute 類別
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
ManagementReferenceAttribute 會將類別成員、屬性或方法參數標示為另一管理物件或類別的參考。
注意:WMI .NET 程式庫目前被視為最終狀態,針對影響這些程式庫的非安全性相關問題,不會提供進一步的開發、增強功能或更新。 MI API 應使用於所有新的開發。
public ref class ManagementReferenceAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)]
public sealed class ManagementReferenceAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property, AllowMultiple=false)>]
type ManagementReferenceAttribute = class
inherit Attribute
Public NotInheritable Class ManagementReferenceAttribute
Inherits Attribute
- 繼承
- 屬性
此範例示範如何使用 ManagementReferenceAttribute 屬性搭配 ManagementQualifierAttribute 使用 ,以建立連結兩個其他 WMI 類別的關聯 WMI 類別。 此範例是分離的提供者,會在根/assoc 命名空間中公開三個 WMI 類別。 前兩個類別 NumberPhonetic 和 NumberLetter 是由最後一個類別 LetterPhonetic 連結。
若要編譯範例,您必須同時包含 System.Management.Instrumentation 和 System.Configuration.Install 的參考。 您必須對產生的可執行檔執行 installutil.exe,並確定程式正在執行,才能使用實作的 WMI 類別。
using System;
using System.Collections;
using System.Management.Instrumentation;
[assembly: WmiConfiguration("root/assoc", HostingModel = ManagementHostingModel.Decoupled)]
[System.ComponentModel.RunInstaller(true)]
public class TheInstaller : DefaultManagementInstaller
{ }
namespace AssocExample
{
class Program
{
static void Main(string[] args)
{
InstrumentationManager.RegisterType(typeof(NumberPhonetic));
InstrumentationManager.RegisterType(typeof(NumberLetter));
InstrumentationManager.RegisterType(typeof(LetterPhonetic));
Console.WriteLine("Press enter to exit");
Console.ReadLine();
InstrumentationManager.UnregisterType(typeof(NumberPhonetic));
InstrumentationManager.UnregisterType(typeof(NumberLetter));
InstrumentationManager.UnregisterType(typeof(LetterPhonetic));
}
}
[ManagementEntity]
public class NumberPhonetic
{
[ManagementKey]
public int Number;
[ManagementProbe]
public string Name;
[ManagementBind]
public NumberPhonetic(int Number)
{
this.Number = Number;
if(Number == 1)
{
Name = "alpha";
}
else if(Number == 2)
{
Name = "bravo";
}
else
{
throw new InstanceNotFoundException();
}
}
[ManagementEnumerator]
static public IEnumerable EnumerateInstances()
{
for (int i = 1; i < 3; i++)
{
yield return new NumberPhonetic(i);
}
}
}
[ManagementEntity]
public class NumberLetter
{
[ManagementKey]
public int Number;
[ManagementProbe]
public string Letter;
[ManagementBind]
public NumberLetter(int Number)
{
this.Number = Number;
if(Number == 1)
{
Letter = "A";
}
else if(Number == 2)
{
Letter = "B";
}
else
{
throw new InstanceNotFoundException();
}
}
[ManagementEnumerator]
static public IEnumerable EnumerateInstances()
{
for (int i = 1; i < 3; i++)
{
yield return new NumberLetter(i);
}
}
}
[ManagementEntity]
[ManagementQualifier("Association", Flavor = ManagementQualifierFlavors.DisableOverride)]
public class LetterPhonetic
{
[ManagementReference(Type = "NumberLetter")]
[ManagementKey]
public string LetterNumber;
[ManagementReference(Type = "NumberPhonetic")]
[ManagementKey]
public string PhoneticNumber;
[ManagementEnumerator]
static public IEnumerable EnumerateInstances()
{
ArrayList insts = new ArrayList();
for (int i = 1; i < 3; i++)
{
LetterPhonetic inst = new LetterPhonetic();
inst.LetterNumber = "Letter = " + i;
inst.PhoneticNumber = "Phonetic = " + i;
insts.Add(inst);
}
return insts;
}
}
}
您可以使用此屬性來建立關聯類別,如下列範例所示。
Management |
初始化 ManagementReferenceAttribute 類別的新執行個體。 這是無參數建構函式。 |
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
Get |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
Get |
取得目前執行個體的 Type。 (繼承來源 Object) |
Is |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
Memberwise |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
To |
傳回代表目前物件的字串。 (繼承來源 Object) |
_Attribute. |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute. |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute. |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute. |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |
產品 | 版本 |
---|---|
.NET Framework | 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |