CodeMethodReferenceExpression Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса CodeMethodReferenceExpression.
Перегрузки
CodeMethodReferenceExpression() |
Инициализирует новый экземпляр класса CodeMethodReferenceExpression. |
CodeMethodReferenceExpression(CodeExpression, String) |
Инициализирует новый экземпляр класса CodeMethodReferenceExpression, используя указанные целевой объект и имя метода. |
CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[]) |
Инициализирует новый экземпляр класса CodeMethodReferenceExpression, используя указанные целевой объект, имя метода и аргументы универсального типа. |
CodeMethodReferenceExpression()
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
Инициализирует новый экземпляр класса CodeMethodReferenceExpression.
public:
CodeMethodReferenceExpression();
public CodeMethodReferenceExpression ();
Public Sub New ()
Применяется к
CodeMethodReferenceExpression(CodeExpression, String)
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
Инициализирует новый экземпляр класса CodeMethodReferenceExpression, используя указанные целевой объект и имя метода.
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)
Параметры
- targetObject
- CodeExpression
Объект CodeExpression, указывающий объект цели.
- methodName
- String
Имя вызываемого метода.
См. также раздел
Применяется к
CodeMethodReferenceExpression(CodeExpression, String, CodeTypeReference[])
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
- Исходный код:
- codemethodreferenceexpression.cs
Инициализирует новый экземпляр класса CodeMethodReferenceExpression, используя указанные целевой объект, имя метода и аргументы универсального типа.
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())
Параметры
- targetObject
- CodeExpression
Объект CodeExpression, указывающий объект цели.
- methodName
- String
Имя вызываемого метода.
- typeParameters
- CodeTypeReference[]
Массив значений CodeTypeReference, указывающих свойство TypeArguments для данного объекта CodeMethodReferenceExpression.
Примеры
В следующем примере кода показано использование этого конструктора.
#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'
Комментарии
Параметр typeParameters
представляет коллекцию ссылок на типы, которые необходимо заменить ссылками на параметры типа текущего универсального метода.