CodeMethodReferenceExpression Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes a new instance of the CodeMethodReferenceExpression class.
Overloads
CodeMethodReferenceExpression() |
Initializes a new instance of the CodeMethodReferenceExpression class. |
CodeMethodReferenceExpression(CodeExpression, String) |
Initializes a new instance of the CodeMethodReferenceExpression class using the specified target object and method name. |
CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[]) |
Initializes a new instance of the CodeMethodReferenceExpression class using the specified target object, method name, and generic type arguments. |
CodeMethodReferenceExpression()
Initializes a new instance of the CodeMethodReferenceExpression class.
public:
CodeMethodReferenceExpression();
public CodeMethodReferenceExpression ();
Public Sub New ()
Applies to
CodeMethodReferenceExpression(CodeExpression, String)
Initializes a new instance of the CodeMethodReferenceExpression class using the specified target object and method name.
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)
Parameters
- targetObject
- CodeExpression
A CodeExpression that indicates the object to target.
- methodName
- String
The name of the method to call.
See also
Applies to
CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[])
Initializes a new instance of the CodeMethodReferenceExpression class using the specified target object, method name, and generic type arguments.
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())
Parameters
- targetObject
- CodeExpression
A CodeExpression that indicates the object to target.
- methodName
- String
The name of the method to call.
- typeParameters
- CodeTypeReference[]
An array of CodeTypeReference values that specify the TypeArguments for this CodeMethodReferenceExpression.
Examples
The following code example shows the use of this constructor.
#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'
Remarks
The typeParameters
parameter represents a collection of type references to be substituted for the type parameter references of the current generic method.