Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
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


Type: System.CodeDom.CodeExpression

A CodeExpression that indicates the object to target.

Type: System.String

The name of the method to call.

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"),
                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
© 2015 Microsoft