CodeAttributeArgument Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar ett argument som används i en deklaration av metadataattribut.
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
- Arv
-
CodeAttributeArgument
- Attribut
Exempel
Följande kod skapar en klass och lägger till kodattribut för att deklarera att klassen är serialiserbar och föråldrad.
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
Kommentarer
CodeAttributeArgument kan användas för att representera antingen värdet för ett enda argument för en attributkonstruktor eller ett värde som du kan initiera en egenskap för attributet med.
Egenskapen Value anger argumentets värde. Egenskapen Name , när den används, anger namnet på en egenskap för attributet som värdet ska tilldelas till.
Attributdeklarationer initieras ofta med ett antal argument som skickas till konstruktorn för attributet vid körning. Om du vill ange argument till konstruktorn för ett attribut lägger du till ett CodeAttributeArgument för varje argument i Arguments samlingen av en CodeAttributeDeclaration. Endast egenskapen för Value varje CodeAttributeArgument måste initieras. Argumentordningen i samlingen måste motsvara argumentordningen i konstruktorns metodsignatur för attributet.
Du kan också ange egenskaper för attributet som inte är tillgängliga via konstruktorn genom att ange ett CodeAttributeArgument som anger namnet på den egenskap som ska anges, tillsammans med värdet som ska anges.
Konstruktorer
| Name | Description |
|---|---|
| CodeAttributeArgument() |
Initierar en ny instans av CodeAttributeArgument klassen. |
| CodeAttributeArgument(CodeExpression) |
Initierar en ny instans av CodeAttributeArgument klassen med det angivna värdet. |
| CodeAttributeArgument(String, CodeExpression) |
Initierar en ny instans av CodeAttributeArgument klassen med det angivna namnet och värdet. |
Egenskaper
| Name | Description |
|---|---|
| Name |
Hämtar eller anger namnet på attributet. |
| Value |
Hämtar eller anger värdet för attributargumentet. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |