Export (0) Print
Expand All

CodeMethodReferenceExpression Constructor (CodeExpression, String, CodeTypeReference[])

Initializes a new instance of the CodeMethodReferenceExpression class using the specified target object, method name, and generic type arguments.

Namespace:  System.CodeDom
Assembly:  System (in System.dll)

public CodeMethodReferenceExpression(
	CodeExpression targetObject,
	string methodName,
	params CodeTypeReference[] typeParameters
)

Parameters

targetObject
Type: System.CodeDom.CodeExpression

A CodeExpression that indicates the object to target.

methodName
Type: System.String

The name of the method to call.

typeParameters
Type: System.CodeDom.CodeTypeReference[]

An array of CodeTypeReference values that specify the TypeArguments for this CodeMethodReferenceExpression.

The typeParameters parameter represents a collection of type references to be substituted for the type parameter references of the current generic method.

The following code example shows the use of this constructor.

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>(); 
//     } 
// }

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft