CodeAttributeArgument Klasse
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.
Stellt ein Argument dar, das in einer Metadaten-Attributdeklaration verwendet wird.
public ref class CodeAttributeArgument
public class CodeAttributeArgument
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeAttributeArgument
type CodeAttributeArgument = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeAttributeArgument = class
Public Class CodeAttributeArgument
- Vererbung
-
CodeAttributeArgument
- Attribute
Beispiele
Der folgende Code erstellt eine Klasse und fügt Codeattribute hinzu, um zu deklarieren, dass die Klasse serialisierbar und veraltet ist.
using System;
using System.CodeDom;
using System.CodeDom.Compiler;
public class CodeGenExample
{
static void Main()
{
// Declare a new type called Class1.
CodeTypeDeclaration class1 = new CodeTypeDeclaration("Class1");
// Use attributes to mark the class as serializable and obsolete.
CodeAttributeDeclaration codeAttrDecl =
new CodeAttributeDeclaration("System.Serializable");
class1.CustomAttributes.Add(codeAttrDecl);
CodeAttributeArgument codeAttr =
new CodeAttributeArgument( new CodePrimitiveExpression("This class is obsolete."));
codeAttrDecl = new CodeAttributeDeclaration("System.Obsolete", codeAttr);
class1.CustomAttributes.Add(codeAttrDecl);
// Create a C# code provider
CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");
// Generate code and send the output to the console
provider.GenerateCodeFromType(class1, Console.Out, new CodeGeneratorOptions());
}
}
// The C# code generator produces the following source code for the preceeding example code:
//
// [System.Serializable()]
// [System.Obsolete("This class is obsolete.")]
// public class Class1 {
// }
Imports System.CodeDom
Imports System.CodeDom.Compiler
Public Class CodeGenExample
Shared Sub Main
' Declare a new type called Class1.
Dim class1 as New CodeTypeDeclaration("Class1")
' Use attributes to mark the class as serializable and obsolete.
Dim codeAttrDecl As New CodeAttributeDeclaration("System.Serializable")
class1.CustomAttributes.Add(codeAttrDecl)
Dim codeAttr As _
New CodeAttributeArgument( new CodePrimitiveExpression("This class is obsolete."))
codeAttrDecl = New CodeAttributeDeclaration("System.Obsolete", codeAttr)
class1.CustomAttributes.Add(codeAttrDecl)
' Create a Visual Basic code provider
Dim provider As CodeDomProvider = CodeDomProvider.CreateProvider("VisualBasic")
' Generate code and send the output to the console
provider.GenerateCodeFromType(class1, Console.Out, New CodeGeneratorOptions())
End Sub
End Class
' The Visual Basic code generator produces the following source code for the preceeding example code:
'
' <System.Serializable(), _
' System.Obsolete("This class is obsolete.")> _
' Public Class Class1
' End Class
Hinweise
CodeAttributeArgument kann zum Darstellen des Werts für ein einzelnes Argument eines Attributkonstruktors oder eines Werts verwendet werden, mit dem eine Eigenschaft des Attributs initialisiert werden soll.
Die Value Eigenschaft gibt den Wert des Arguments an. Die Name Eigenschaft gibt bei Verwendung den Namen einer Eigenschaft des Attributs an, dem der Wert zugewiesen werden soll.
Attributdeklarationen werden häufig mit einer Reihe von Argumenten initialisiert, die zur Laufzeit an den Konstruktor des Attributs übergeben werden. Um dem Konstruktor argumente für ein Attribut bereitzustellen, fügen Sie der CodeAttributeArgumentArguments Auflistung einer .CodeAttributeDeclaration Nur die Value Eigenschaft jeder CodeAttributeArgument muss initialisiert werden. Die Reihenfolge der Argumente innerhalb der Auflistung muss der Reihenfolge der Argumente in der Methodensignatur des Konstruktors für das Attribut entsprechen.
Sie können auch Eigenschaften des Attributs festlegen, die nicht über den Konstruktor verfügbar sind, indem Sie einen CodeAttributeArgument Wert angeben, der den Namen der festzulegenden Eigenschaft sowie den festzulegenden Wert angibt.
Konstruktoren
| Name | Beschreibung |
|---|---|
| CodeAttributeArgument() |
Initialisiert eine neue Instanz der CodeAttributeArgument-Klasse. |
| CodeAttributeArgument(CodeExpression) |
Initialisiert eine neue Instanz der CodeAttributeArgument Klasse mithilfe des angegebenen Werts. |
| CodeAttributeArgument(String, CodeExpression) |
Initialisiert eine neue Instanz der CodeAttributeArgument Klasse mithilfe des angegebenen Namens und Werts. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Name |
Dient zum Abrufen oder Festlegen des Namens des Attributs. |
| Value |
Dient zum Abrufen oder Festlegen des Werts für das Attributargument. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |