MethodBuilder.SetSymCustomAttribute(String, Byte[]) Methode

Definition

Legen Sie ein symbolisches benutzerdefiniertes Attribut mithilfe eines Blobs fest.

public:
 void SetSymCustomAttribute(System::String ^ name, cli::array <System::Byte> ^ data);
public void SetSymCustomAttribute(string name, byte[] data);
member this.SetSymCustomAttribute : string * byte[] -> unit
Public Sub SetSymCustomAttribute (name As String, data As Byte())

Parameter

name
String

Der Name des symbolischen benutzerdefinierten Attributs.

data
Byte[]

Das Byte-Blob, das den Wert des symbolischen benutzerdefinierten Attributs darstellt.

Ausnahmen

Der enthaltende Typ wurde zuvor mit CreateType().

-oder-

Das Modul, das diese Methode enthält, ist kein Debugmodul.

-oder-

Für die aktuelle Methode ist die IsGenericMethod Eigenschaft , aber die true Eigenschaft ist IsGenericMethodDefinition.false

Beispiele

Im folgenden Codebeispiel wird die kontextbezogene Verwendung der SetSymCustomAttribute Methode veranschaulicht, um die Bytewerte für den Namen und den Schlüssel eines benutzerdefinierten Attributs festzulegen, das einer Methode zugeordnet ist.


MethodBuilder myMethod = myDynamicType.DefineMethod("MyMethod",
                    MethodAttributes.Public,
                    typeof(int),
                    new Type[] { typeof(string) });

// A 128-bit key in hex form, represented as a byte array.
byte[] keyVal = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
          0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0xFF };	

System.Text.ASCIIEncoding encoder = new System.Text.ASCIIEncoding();
byte[] symFullName = encoder.GetBytes("My Dynamic Method");

myMethod.SetSymCustomAttribute("SymID", keyVal);
myMethod.SetSymCustomAttribute("SymFullName", symFullName);
Dim myMethod As MethodBuilder = myDynamicType.DefineMethod("MyMethod", _
               MethodAttributes.Public, GetType(Integer), _
               New Type() {GetType(String)})

' A 128-bit key in hex form, represented as a byte array.
Dim keyVal As Byte() =  {&H0, &H0, &H0, &H0, &H0, &H0, &H0, &H0, _
             &H0, &H0, &H0, &H0, &H0, &H60, &HFF, &HFF}

Dim encoder As New System.Text.ASCIIEncoding()
Dim symFullName As Byte() = encoder.GetBytes("My Dynamic Method")

myMethod.SetSymCustomAttribute("SymID", keyVal)
myMethod.SetSymCustomAttribute("SymFullName", symFullName)

Hinweise

Im Gegensatz zum benutzerdefinierten Metadatenattribut ist dieses benutzerdefinierte Attribut einem Symbolschreiber zugeordnet.

Gilt für: