CodeMethodReferenceExpression Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci CodeMethodReferenceExpression třídy.
Přetížení
| Name | Description |
|---|---|
| CodeMethodReferenceExpression() |
Inicializuje novou instanci CodeMethodReferenceExpression třídy. |
| CodeMethodReferenceExpression(CodeExpression, String) |
Inicializuje novou instanci CodeMethodReferenceExpression třídy pomocí zadaného cílového objektu a názvu metody. |
| CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[]) |
Inicializuje novou instanci třídy pomocí zadaného cílového CodeMethodReferenceExpression objektu, názvu metody a argumentů obecného typu. |
CodeMethodReferenceExpression()
Inicializuje novou instanci CodeMethodReferenceExpression třídy.
public:
CodeMethodReferenceExpression();
public CodeMethodReferenceExpression();
Public Sub New ()
Platí pro
CodeMethodReferenceExpression(CodeExpression, String)
Inicializuje novou instanci CodeMethodReferenceExpression třídy pomocí zadaného cílového objektu a názvu metody.
public:
CodeMethodReferenceExpression(System::CodeDom::CodeExpression ^ targetObject, System::String ^ methodName);
public CodeMethodReferenceExpression(System.CodeDom.CodeExpression targetObject, string methodName);
new System.CodeDom.CodeMethodReferenceExpression : System.CodeDom.CodeExpression * string -> System.CodeDom.CodeMethodReferenceExpression
Public Sub New (targetObject As CodeExpression, methodName As String)
Parametry
- targetObject
- CodeExpression
A CodeExpression , který označuje objekt, který se má cílit.
- methodName
- String
Název metody, která se má volat.
Viz také
Platí pro
CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[])
Inicializuje novou instanci třídy pomocí zadaného cílového CodeMethodReferenceExpression objektu, názvu metody a argumentů obecného typu.
public:
CodeMethodReferenceExpression(System::CodeDom::CodeExpression ^ targetObject, System::String ^ methodName, ... cli::array <System::CodeDom::CodeTypeReference ^> ^ typeParameters);
public CodeMethodReferenceExpression(System.CodeDom.CodeExpression targetObject, string methodName, params System.CodeDom.CodeTypeReference[] typeParameters);
new System.CodeDom.CodeMethodReferenceExpression : System.CodeDom.CodeExpression * string * System.CodeDom.CodeTypeReference[] -> System.CodeDom.CodeMethodReferenceExpression
Public Sub New (targetObject As CodeExpression, methodName As String, ParamArray typeParameters As CodeTypeReference())
Parametry
- targetObject
- CodeExpression
A CodeExpression , který označuje objekt, který se má cílit.
- methodName
- String
Název metody, která se má volat.
- typeParameters
- CodeTypeReference[]
Pole CodeTypeReference hodnot, které určují TypeArguments pro tento CodeMethodReferenceExpressionparametr .
Příklady
Následující příklad kódu ukazuje použití tohoto konstruktoru.
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");
// Declares a type constructor that calls a method.
CodeConstructor constructor1 = new CodeConstructor();
constructor1.Attributes = MemberAttributes.Public;
class1.Members.Add( constructor1 );
// Creates a method reference for dict.Init.
CodeMethodReferenceExpression methodRef1 =
new CodeMethodReferenceExpression(
new CodeVariableReferenceExpression("dict"),
"Init",
new CodeTypeReference[] {
new CodeTypeReference("System.Decimal"),
new CodeTypeReference("System.Int32")});
// Invokes the dict.Init method from the constructor.
CodeMethodInvokeExpression invoke1 = new CodeMethodInvokeExpression( methodRef1, new CodeParameterDeclarationExpression[] {} );
constructor1.Statements.Add( invoke1 );
// 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:
//
// public class Class1 {
//
// public Class1() {
// dict.Init<decimal, int>();
// }
// }
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")
' Declares a type constructor that calls a method.
Dim constructor1 As New CodeConstructor()
constructor1.Attributes = MemberAttributes.Public
class1.Members.Add( constructor1 )
' Creates a method reference for dict.Init.
Dim methodRef1 as New CodeMethodReferenceExpression(
New CodeVariableReferenceExpression("dict"),
"Init",
New CodeTypeReference() {
New CodeTypeReference("System.Decimal"),
New CodeTypeReference("System.Int32")})
' Invokes the dict.Init method from the constructor.
Dim invoke1 As New CodeMethodInvokeExpression( methodRef1, new CodeParameterDeclarationExpression() {} )
constructor1.Statements.Add( invoke1 )
' 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:
'
' Public Class Class1
'
' Public Sub New()
' MyBase.New
' dict.Init(Of Decimal, Integer)
' End Sub
' End Class'
Poznámky
Parametr typeParameters představuje kolekci odkazů na typy, které mají být nahrazeny odkazy na parametry typu aktuální obecné metody.