CodeConstructor Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Egy típuspéldány konstruktorának deklarációját jelöli.
public ref class CodeConstructor : System::CodeDom::CodeMemberMethod
public class CodeConstructor : System.CodeDom.CodeMemberMethod
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CodeConstructor : System.CodeDom.CodeMemberMethod
type CodeConstructor = class
inherit CodeMemberMethod
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDispatch)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Serializable>]
type CodeConstructor = class
inherit CodeMemberMethod
Public Class CodeConstructor
Inherits CodeMemberMethod
- Öröklődés
- Attribútumok
Példák
Ez a példa bemutatja, hogy az a CodeConstructor használatával több típusú konstruktort deklarálhat.
// This example declares two types, one of which inherits from another,
// and creates a set of different styles of constructors using CodeConstructor.
// Creates a new CodeCompileUnit to contain the program graph.
CodeCompileUnit CompileUnit = new CodeCompileUnit();
// Declares a new namespace object and names it.
CodeNamespace Samples = new CodeNamespace("Samples");
// Adds the namespace object to the compile unit.
CompileUnit.Namespaces.Add( Samples );
// Adds a new namespace import for the System namespace.
Samples.Imports.Add( new CodeNamespaceImport("System") );
// Declares a new type and names it.
CodeTypeDeclaration BaseType = new CodeTypeDeclaration("BaseType");
// Adds the new type to the namespace object's type collection.
Samples.Types.Add(BaseType);
// Declares a default constructor that takes no arguments.
CodeConstructor defaultConstructor = new CodeConstructor();
defaultConstructor.Attributes = MemberAttributes.Public;
// Adds the constructor to the Members collection of the BaseType.
BaseType.Members.Add(defaultConstructor);
// Declares a constructor that takes a string argument.
CodeConstructor stringConstructor = new CodeConstructor();
stringConstructor.Attributes = MemberAttributes.Public;
// Declares a parameter of type string named "TestStringParameter".
stringConstructor.Parameters.Add( new CodeParameterDeclarationExpression("System.String", "TestStringParameter") );
// Adds the constructor to the Members collection of the BaseType.
BaseType.Members.Add(stringConstructor);
// Declares a type that derives from BaseType and names it.
CodeTypeDeclaration DerivedType = new CodeTypeDeclaration("DerivedType");
// The DerivedType class inherits from the BaseType class.
DerivedType.BaseTypes.Add( new CodeTypeReference("BaseType") );
// Adds the new type to the namespace object's type collection.
Samples.Types.Add(DerivedType);
// Declare a constructor that takes a string argument and calls the base class constructor with it.
CodeConstructor baseStringConstructor = new CodeConstructor();
baseStringConstructor.Attributes = MemberAttributes.Public;
// Declares a parameter of type string named "TestStringParameter".
baseStringConstructor.Parameters.Add( new CodeParameterDeclarationExpression("System.String", "TestStringParameter") );
// Calls a base class constructor with the TestStringParameter parameter.
baseStringConstructor.BaseConstructorArgs.Add( new CodeVariableReferenceExpression("TestStringParameter") );
// Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(baseStringConstructor);
// Declares a constructor overload that calls another constructor for the type with a predefined argument.
CodeConstructor overloadConstructor = new CodeConstructor();
overloadConstructor.Attributes = MemberAttributes.Public;
// Sets the argument to pass to a base constructor method.
overloadConstructor.ChainedConstructorArgs.Add( new CodePrimitiveExpression("Test") );
// Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(overloadConstructor);
// Declares a constructor overload that calls the default constructor for the type.
CodeConstructor overloadConstructor2 = new CodeConstructor();
overloadConstructor2.Attributes = MemberAttributes.Public;
overloadConstructor2.Parameters.Add( new CodeParameterDeclarationExpression("System.Int32", "TestIntParameter") );
// Sets the argument to pass to a base constructor method.
overloadConstructor2.ChainedConstructorArgs.Add( new CodeSnippetExpression("") );
// Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(overloadConstructor2);
// A C# code generator produces the following source code for the preceeding example code:
// public class BaseType {
//
// public BaseType() {
// }
//
// public BaseType(string TestStringParameter) {
// }
// }
//
// public class DerivedType : BaseType {
//
// public DerivedType(string TestStringParameter) :
// base(TestStringParameter) {
// }
//
// public DerivedType() :
// this("Test") {
// }
//
// public DerivedType(int TestIntParameter) :
// this() {
// }
// }
' This example declares two types, one of which inherits from another,
' and creates a set of different styles of constructors using CodeConstructor.
' Creates a new CodeCompileUnit to contain the program graph.
Dim CompileUnit As New CodeCompileUnit()
' Declares a new namespace object and names it.
Dim Samples As New CodeNamespace("Samples")
' Adds the namespace object to the compile unit.
CompileUnit.Namespaces.Add(Samples)
' Adds a new namespace import for the System namespace.
Samples.Imports.Add(New CodeNamespaceImport("System"))
' Declares a new type and names it.
Dim BaseType As New CodeTypeDeclaration("BaseType")
' Adds the new type to the namespace object's type collection.
Samples.Types.Add(BaseType)
' Declares a default constructor that takes no arguments.
Dim defaultConstructor As New CodeConstructor()
defaultConstructor.Attributes = MemberAttributes.Public
' Adds the constructor to the Members collection of the BaseType.
BaseType.Members.Add(defaultConstructor)
' Declares a constructor that takes a string argument.
Dim stringConstructor As New CodeConstructor()
stringConstructor.Attributes = MemberAttributes.Public
' Declares a parameter of type string named "TestStringParameter".
stringConstructor.Parameters.Add(New CodeParameterDeclarationExpression("System.String", "TestStringParameter"))
' Adds the constructor to the Members collection of the BaseType.
BaseType.Members.Add(stringConstructor)
' Declares a type that derives from BaseType and names it.
Dim DerivedType As New CodeTypeDeclaration("DerivedType")
' The DerivedType class inherits from the BaseType class.
DerivedType.BaseTypes.Add(New CodeTypeReference("BaseType"))
' Adds the new type to the namespace object's type collection.
Samples.Types.Add(DerivedType)
' Declare a constructor that takes a string argument and calls the base class constructor with it.
Dim baseStringConstructor As New CodeConstructor()
baseStringConstructor.Attributes = MemberAttributes.Public
' Declares a parameter of type string named "TestStringParameter".
baseStringConstructor.Parameters.Add(New CodeParameterDeclarationExpression("System.String", "TestStringParameter"))
' Calls a base class constructor with the TestStringParameter parameter.
baseStringConstructor.BaseConstructorArgs.Add(New CodeVariableReferenceExpression("TestStringParameter"))
' Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(baseStringConstructor)
' Declares a constructor overload that calls another constructor for the type with a predefined argument.
Dim overloadConstructor As New CodeConstructor()
overloadConstructor.Attributes = MemberAttributes.Public
' Sets the argument to pass to a base constructor method.
overloadConstructor.ChainedConstructorArgs.Add(New CodePrimitiveExpression("Test"))
' Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(overloadConstructor)
' Declares a constructor overload that calls another constructor for the type.
Dim overloadConstructor2 As New CodeConstructor()
overloadConstructor2.Attributes = MemberAttributes.Public
overloadConstructor2.Parameters.Add( New CodeParameterDeclarationExpression("System.Int32", "TestIntParameter") )
' Sets the argument to pass to a base constructor method.
overloadConstructor2.ChainedConstructorArgs.Add(New CodeSnippetExpression(""))
' Adds the constructor to the Members collection of the DerivedType.
DerivedType.Members.Add(overloadConstructor2)
' A Visual Basic code generator produces the following source code for the preceeding example code:
' Public Class BaseType
'
' Public Sub New()
' MyBase.New
' End Sub
'
' Public Sub New(ByVal TestStringParameter As String)
' MyBase.New
' End Sub
' End Class
'
' Public Class DerivedType
' Inherits BaseType
'
' Public Sub New(ByVal TestStringParameter As String)
' MyBase.New(TestStringParameter)
' End Sub
'
' Public Sub New()
' Me.New("Test")
' End Sub
'
' Public Sub New(ByVal TestIntParameter As Integer)
' Me.New()
' End Sub
' End Class
Megjegyzések
CodeConstructor egy példánykonstruktor deklarációjának ábrázolására használható egy típushoz. Statikus konstruktor deklarálásához használható CodeTypeConstructor egy típushoz.
Ha a konstruktor alaposztály-konstruktort hív meg, állítsa be az alaposztály konstruktorának konstruktor argumentumait a BaseConstructorArgs tulajdonságban. Ha a konstruktor túlterhel egy másik konstruktort a típushoz, állítsa be, hogy a konstruktor argumentumai átadják a tulajdonság túlterhelt típusú konstruktorának ChainedConstructorArgs .
Konstruktorok
| Name | Description |
|---|---|
| CodeConstructor() |
Inicializálja a CodeConstructor osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| Attributes |
Lekéri vagy beállítja a tag attribútumait. (Öröklődés forrása CodeTypeMember) |
| BaseConstructorArgs |
Lekéri az alapkonstruktor-argumentumok gyűjteményét. |
| ChainedConstructorArgs |
Lekéri a láncolt konstruktorargumentumok gyűjteményét. |
| Comments |
Lekéri a típustag megjegyzésgyűjteményét. (Öröklődés forrása CodeTypeMember) |
| CustomAttributes |
Lekéri vagy beállítja a tag egyéni attribútumait. (Öröklődés forrása CodeTypeMember) |
| EndDirectives |
Lekéri a tagra vonatkozó záró irányelveket. (Öröklődés forrása CodeTypeMember) |
| ImplementationTypes |
Lekéri a metódus által implementált interfészek adattípusait, kivéve, ha ez egy privát metódus implementációja, amelyet a PrivateImplementationType tulajdonság jelez. (Öröklődés forrása CodeMemberMethod) |
| LinePragma |
Lekéri vagy beállítja azt a sort, amelyen a típustag-utasítás történik. (Öröklődés forrása CodeTypeMember) |
| Name |
Lekéri vagy beállítja a tag nevét. (Öröklődés forrása CodeTypeMember) |
| Parameters |
Lekéri a metódus paraméterdeklarációit. (Öröklődés forrása CodeMemberMethod) |
| PrivateImplementationType |
Lekéri vagy beállítja az interfész adattípusát, ha privát, akkor implementál egy metódust, ha van ilyen. (Öröklődés forrása CodeMemberMethod) |
| ReturnType |
Lekéri vagy beállítja a metódus visszatérési értékének adattípusát. (Öröklődés forrása CodeMemberMethod) |
| ReturnTypeCustomAttributes |
Lekéri a metódus visszatérési típusának egyéni attribútumait. (Öröklődés forrása CodeMemberMethod) |
| StartDirectives |
Lekéri a kezdő irányelveket a tag számára. (Öröklődés forrása CodeTypeMember) |
| Statements |
Lekéri az utasításokat a metóduson belül. (Öröklődés forrása CodeMemberMethod) |
| TypeParameters |
Lekéri az aktuális általános metódus típusparamétereit. (Öröklődés forrása CodeMemberMethod) |
| UserData |
Lekéri az aktuális objektum felhasználó által definiálható adatait. (Öröklődés forrása CodeObject) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
esemény
| Name | Description |
|---|---|
| PopulateImplementationTypes |
Egy esemény, amely a gyűjtemény első elérésekor ImplementationTypes jelenik meg. (Öröklődés forrása CodeMemberMethod) |
| PopulateParameters |
Egy esemény, amely a gyűjtemény első elérésekor Parameters jelenik meg. (Öröklődés forrása CodeMemberMethod) |
| PopulateStatements |
Egy esemény, amely a gyűjtemény első elérésekor Statements jelenik meg. (Öröklődés forrása CodeMemberMethod) |