CodeMethodReferenceExpression Costruttori

Definizione

Inizializza una nuova istanza della classe CodeMethodReferenceExpression.

Overload

CodeMethodReferenceExpression()

Inizializza una nuova istanza della classe CodeMethodReferenceExpression.

CodeMethodReferenceExpression(CodeExpression, String)

Consente l'inizializzazione di una nuova istanza della classe CodeMethodReferenceExpression con l'oggetto di destinazione e il nome del metodo specificati.

CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[])

Inizializza una nuova istanza della classe CodeMethodReferenceExpression utilizzando l'oggetto di destinazione, il nome del metodo e gli argomenti del tipo generici specificati.

CodeMethodReferenceExpression()

Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs

Inizializza una nuova istanza della classe CodeMethodReferenceExpression.

public:
 CodeMethodReferenceExpression();
public CodeMethodReferenceExpression ();
Public Sub New ()

Si applica a

CodeMethodReferenceExpression(CodeExpression, String)

Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs

Consente l'inizializzazione di una nuova istanza della classe CodeMethodReferenceExpression con l'oggetto di destinazione e il nome del metodo specificati.

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)

Parametri

targetObject
CodeExpression

CodeExpression che indica l'oggetto di destinazione.

methodName
String

Nome del metodo da chiamare.

Vedi anche

Si applica a

CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[])

Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs
Origine:
codemethodreferenceexpression.cs

Inizializza una nuova istanza della classe CodeMethodReferenceExpression utilizzando l'oggetto di destinazione, il nome del metodo e gli argomenti del tipo generici specificati.

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())

Parametri

targetObject
CodeExpression

CodeExpression che indica l'oggetto di destinazione.

methodName
String

Nome del metodo da chiamare.

typeParameters
CodeTypeReference[]

Matrice di valori CodeTypeReference che specificano gli argomenti TypeArguments per l'oggetto CodeMethodReferenceExpression.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso di questo costruttore.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::CodeDom;
using namespace System::CodeDom::Compiler;

int main()
{
    // Declare a new type called Class1.
    CodeTypeDeclaration^ class1 = gcnew CodeTypeDeclaration("Class1");

    // Declares a type constructor that calls a method.
    CodeConstructor^ constructor1 = gcnew CodeConstructor();
    constructor1->Attributes = MemberAttributes::Public;
    class1->Members->Add(constructor1);

    // Creates a method reference for dict.Init.
    CodeMethodReferenceExpression^ methodRef1 =
        gcnew CodeMethodReferenceExpression(
            gcnew CodeVariableReferenceExpression("dict"),
            "Init",
            gcnew array<CodeTypeReference^> {
                gcnew CodeTypeReference("System.Decimal"),
                gcnew CodeTypeReference("System.Int32")});

    // Invokes the dict.Init method from the constructor.
    CodeMethodInvokeExpression^ invoke1 =
        gcnew CodeMethodInvokeExpression(methodRef1, gcnew array<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, gcnew CodeGeneratorOptions());
}

// The CPP code generator produces the following source code for the preceeding example code:
//
//public class Class1 {
//
//     public Class1() {
//         dict.Init<decimal, int>();
//     }
// }
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'

Commenti

Il typeParameters parametro rappresenta una raccolta di riferimenti di tipo da sostituire con i riferimenti ai parametri di tipo del metodo generico corrente.

Si applica a