CodeAttributeArgument Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een argument dat wordt gebruikt in de declaratie van een metagegevenskenmerk.
public ref class CodeAttributeArgument
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeAttributeArgument
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeAttributeArgument = class
Public Class CodeAttributeArgument
- Overname
-
CodeAttributeArgument
- Kenmerken
Voorbeelden
Met de volgende code maakt u een klasse en voegt u codekenmerken toe om aan te geven dat de klasse serialiseerbaar en verouderd is.
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
Opmerkingen
CodeAttributeArgument kan worden gebruikt om de waarde voor één argument van een kenmerkconstructor weer te geven of een waarde waarmee een eigenschap van het kenmerk moet worden geïnitialiseerd.
De Value eigenschap geeft de waarde van het argument aan. De Name eigenschap, wanneer deze wordt gebruikt, geeft de naam aan van een eigenschap van het kenmerk waaraan de waarde moet worden toegewezen.
Kenmerkdeclaraties worden vaak geïnitialiseerd met een aantal argumenten die tijdens runtime worden doorgegeven aan de constructor van het kenmerk. Als u argumenten wilt opgeven voor de constructor voor een kenmerk, voegt u een CodeAttributeArgument voor elk argument toe aan de Arguments verzameling van een CodeAttributeDeclaration. Alleen de Value eigenschap van elk CodeAttributeArgument moet worden geïnitialiseerd. De volgorde van argumenten in de verzameling moet overeenkomen met de volgorde van argumenten in de methodehandtekening van de constructor voor het kenmerk.
U kunt ook eigenschappen instellen van het kenmerk dat niet beschikbaar is via de constructor door een CodeAttributeArgument eigenschap op te geven die de naam aangeeft van de eigenschap die moet worden ingesteld, samen met de waarde die moet worden ingesteld.
Constructors
| Name | Description |
|---|---|
| CodeAttributeArgument() |
Initialiseert een nieuw exemplaar van de CodeAttributeArgument klasse. |
| CodeAttributeArgument(CodeExpression) |
Initialiseert een nieuw exemplaar van de CodeAttributeArgument klasse met behulp van de opgegeven waarde. |
| CodeAttributeArgument(String, CodeExpression) |
Initialiseert een nieuw exemplaar van de CodeAttributeArgument klasse met behulp van de opgegeven naam en waarde. |
Eigenschappen
| Name | Description |
|---|---|
| Name |
Hiermee haalt u de naam van het kenmerk op of stelt u deze in. |
| Value |
Hiermee haalt u de waarde voor het kenmerkargument op of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |