MethodBuilder.SetSymCustomAttribute(String, Byte[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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() erstellt.
- oder -
Das Modul, das diese Methode enthält, ist kein Debugmodul.
- oder -
Für die aktuelle Methode ist die IsGenericMethod-Eigenschaft true
, aber die IsGenericMethodDefinition-Eigenschaft ist 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 an eine Methode angefügt ist.
array<Type^>^ temp0 = { String::typeid };
MethodBuilder^ myMethod = myDynamicType->DefineMethod( "MyMethod",
MethodAttributes::Public,
int::typeid,
temp0 );
// A 128-bit key in hex form, represented as a Byte array.
array<Byte>^ keyVal = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFF, 0xFF};
System::Text::ASCIIEncoding^ encoder = gcnew System::Text::ASCIIEncoding;
array<Byte>^ symFullName = encoder->GetBytes( "My Dynamic Method" );
myMethod->SetSymCustomAttribute( "SymID", keyVal );
myMethod->SetSymCustomAttribute( "SymFullName", symFullName );
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 Metadaten-Attribut ist dieses benutzerdefinierte Attribut einem Symbolschreiber zugeordnet.