다음을 통해 공유


Expression.New 메서드

정의

NewExpression을 만듭니다.

오버로드

New(ConstructorInfo)

인수를 받지 않는 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

New(Type)

지정된 형식의 매개 변수가 없는 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

New(ConstructorInfo, IEnumerable<Expression>)

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

New(ConstructorInfo, Expression[])

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다. 생성자에서 초기화되는 필드에 액세스하는 멤버가 지정됩니다.

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다. 생성자에서 초기화되는 필드에 액세스하는 멤버가 배열로 지정됩니다.

New(ConstructorInfo)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

인수를 받지 않는 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor);
static member New : System.Reflection.ConstructorInfo -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo) As NewExpression

매개 변수

constructor
ConstructorInfo

ConstructorInfo 속성에 설정할 Constructor입니다.

반환

NewExpression 속성이 NodeType이고 New 속성이 지정된 값으로 설정된 Constructor입니다.

예외

constructor이(가) null인 경우

constructor가 나타내는 생성자에 매개 변수가 하나 이상 있는 경우

설명

Arguments 결과 NewExpression 의 및 Members 속성은 빈 컬렉션입니다. 속성은 Type 가 나타내는 생성자의 선언 형식을 constructor나타냅니다.

적용 대상

New(Type)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

지정된 형식의 매개 변수가 없는 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(Type ^ type);
public static System.Linq.Expressions.NewExpression New (Type type);
static member New : Type -> System.Linq.Expressions.NewExpression
Public Shared Function New (type As Type) As NewExpression

매개 변수

type
Type

인수를 받지 않는 생성자가 있는 Type입니다.

반환

NewExpression 속성이 NodeType이고 New 속성이 지정된 형식에 대한 매개 변수 없이 생성자를 나타내는 Constructor로 설정된 ConstructorInfo입니다.

예외

type이(가) null인 경우

type이 나타내는 형식에 매개 변수가 없는 생성자가 없는 경우

예제

다음 예제에서는 메서드를 사용하여 New(Type) 매개 변수 없이 생성자를 호출하여 사전 개체의 새 instance 생성하는 을 만드는 NewExpression 방법을 보여 줍니다.

// Create a NewExpression that represents constructing
// a new instance of Dictionary<int, string>.
System.Linq.Expressions.NewExpression newDictionaryExpression =
    System.Linq.Expressions.Expression.New(typeof(Dictionary<int, string>));

Console.WriteLine(newDictionaryExpression.ToString());

// This code produces the following output:
//
// new Dictionary`2()
' Create a NewExpression that represents constructing
' a new instance of Dictionary(Of Integer, String).
Dim newDictionaryExpression As System.Linq.Expressions.NewExpression = _
    System.Linq.Expressions.Expression.[New]( _
        Type.GetType("System.Collections.Generic.Dictionary`2[System.Int32, System.String]"))

Console.WriteLine(newDictionaryExpression.ToString())

' This code produces the following output:
'
' new Dictionary`2()

설명

매개 변수는 type 매개 변수가 없는 생성자가 있는 형식을 나타내야 합니다.

Arguments 결과 NewExpression 의 및 Members 속성은 빈 컬렉션입니다. 속성은 Type 와 같습니다 type.

적용 대상

New(ConstructorInfo, IEnumerable<Expression>)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression)) As NewExpression

매개 변수

constructor
ConstructorInfo

ConstructorInfo 속성에 설정할 Constructor입니다.

arguments
IEnumerable<Expression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 Expression 개체가 포함된 Arguments입니다.

반환

NewExpression 속성이 NodeType이고 NewConstructor 속성이 지정된 값으로 설정된 Arguments입니다.

예외

constructornull입니다.

또는

arguments의 요소가 null입니다.

arguments 매개 변수에 들어 있는 요소 수가 constructor가 나타내는 생성자의 매개 변수 수와 다른 경우

또는

arguments의 요소에 대한 Type 속성을 constructor가 나타내는 생성자의 해당 매개 변수 형식에 적용할 수 없는 경우

설명

매개 변수는 arguments 로 표시되는 constructor생성자에 대한 매개 변수 수와 동일한 수의 요소를 포함해야 합니다. 가 이nullarguments 비어 있는 것으로 간주되고 Arguments 결과 NewExpression 의 속성은 빈 컬렉션입니다.

결과 NewExpression 의 속성은 Type 가 나타내는 생성자의 선언 형식을 constructor나타냅니다. 속성은 Members 빈 컬렉션입니다.

적용 대상

New(ConstructorInfo, Expression[])

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, ... cli::array <System::Linq::Expressions::Expression ^> ^ arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[] arguments);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, params System.Linq.Expressions.Expression[]? arguments);
static member New : System.Reflection.ConstructorInfo * System.Linq.Expressions.Expression[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, ParamArray arguments As Expression()) As NewExpression

매개 변수

constructor
ConstructorInfo

ConstructorInfo 속성에 설정할 Constructor입니다.

arguments
Expression[]

Expression 컬렉션을 채우는 데 사용할 Arguments 개체의 배열입니다.

반환

NewExpression 속성이 NodeType이고 NewConstructor 속성이 지정된 값으로 설정된 Arguments입니다.

예외

constructornull입니다.

또는

arguments의 요소가 null입니다.

arguments의 길이가 constructor가 나타내는 생성자의 매개 변수 수와 일치하는 경우

또는

arguments의 요소에 대한 Type 속성을 constructor가 나타내는 생성자의 해당 매개 변수 형식에 적용할 수 없는 경우

설명

매개 변수는 arguments 로 표시되는 constructor생성자에 대한 매개 변수 수와 동일한 수의 요소를 포함해야 합니다. 가 이nullarguments 비어 있는 것으로 간주되고 Arguments 결과 NewExpression 의 속성은 빈 컬렉션입니다.

결과 NewExpression 의 속성은 Type 가 나타내는 생성자의 선언 형식을 constructor나타냅니다. 속성은 Members 빈 컬렉션입니다.

적용 대상

New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다. 생성자에서 초기화되는 필드에 액세스하는 멤버가 지정됩니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, System::Collections::Generic::IEnumerable<System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo> members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, System.Collections.Generic.IEnumerable<System.Reflection.MemberInfo>? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * seq<System.Reflection.MemberInfo> -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), members As IEnumerable(Of MemberInfo)) As NewExpression

매개 변수

constructor
ConstructorInfo

ConstructorInfo 속성에 설정할 Constructor입니다.

arguments
IEnumerable<Expression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 Expression 개체가 포함된 Arguments입니다.

members
IEnumerable<MemberInfo>

IEnumerable<T> 컬렉션을 채우는 데 사용할 MemberInfo 개체가 포함된 Members입니다.

반환

NewExpression 속성이 NodeType이고 New, ConstructorArguments 속성이 지정된 값으로 설정된 Members입니다.

예외

constructornull입니다.

또는

arguments의 요소가 null입니다.

또는

members의 요소가 null입니다.

arguments 매개 변수에 들어 있는 요소 수가 constructor가 나타내는 생성자의 매개 변수 수와 다른 경우

또는

arguments의 요소에 대한 Type 속성을 constructor가 나타내는 생성자의 해당 매개 변수 형식에 적용할 수 없는 경우

또는

members 매개 변수의 요소 수가 arguments와 다른 경우

또는

arguments에 있는 요소의 Type 속성이 나타내는 형식을 members의 해당 속성이 나타내는 멤버 형식에 할당할 수 없는 경우

설명

매개 변수는 arguments 로 표시되는 constructor생성자에 대한 매개 변수 수와 동일한 수의 요소를 포함해야 합니다. 가 이nullarguments 비어 있는 것으로 간주되고 Arguments 결과 NewExpression 의 속성은 빈 컬렉션입니다.

가 이 nullMembersmembers 결과 NewExpression 의 속성이 빈 컬렉션입니다. 가 이 아닌 null경우 members 와 동일한 수의 요소가 arguments 있어야 하며 각 요소는 이 아니null어야 합니다. 의 members 각 요소는 가 나타내는 생성자의 선언 형식에서 instance 멤버를 나타내는 constructor또는 FieldInfoMethodInfo 이어야 합니다PropertyInfo. 속성을 나타내는 경우 속성에 접근자가 get 있어야 합니다. 의 각 요소에 대한 의 argumentsmembers 해당 요소에는 Type 요소가 나타내는 멤버의 형식에 할당할 수 있는 형식을 나타내는 속성이 members 있어야 합니다.

결과 NewExpression 의 속성은 Type 를 나타내는 생성자의 constructor 선언 형식을 나타냅니다.

적용 대상

New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])

Source:
NewExpression.cs
Source:
NewExpression.cs
Source:
NewExpression.cs

지정된 인수를 사용하여 지정된 생성자를 호출하는 동작을 나타내는 NewExpression을 만듭니다. 생성자에서 초기화되는 필드에 액세스하는 멤버가 배열로 지정됩니다.

public:
 static System::Linq::Expressions::NewExpression ^ New(System::Reflection::ConstructorInfo ^ constructor, System::Collections::Generic::IEnumerable<System::Linq::Expressions::Expression ^> ^ arguments, ... cli::array <System::Reflection::MemberInfo ^> ^ members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression> arguments, params System.Reflection.MemberInfo[] members);
public static System.Linq.Expressions.NewExpression New (System.Reflection.ConstructorInfo constructor, System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>? arguments, params System.Reflection.MemberInfo[]? members);
static member New : System.Reflection.ConstructorInfo * seq<System.Linq.Expressions.Expression> * System.Reflection.MemberInfo[] -> System.Linq.Expressions.NewExpression
Public Shared Function New (constructor As ConstructorInfo, arguments As IEnumerable(Of Expression), ParamArray members As MemberInfo()) As NewExpression

매개 변수

constructor
ConstructorInfo

ConstructorInfo 속성에 설정할 Constructor입니다.

arguments
IEnumerable<Expression>

IEnumerable<T> 컬렉션을 채우는 데 사용할 Expression 개체가 포함된 Arguments입니다.

members
MemberInfo[]

MemberInfo 컬렉션을 채우는 데 사용할 Members 개체의 배열입니다.

반환

NewExpression 속성이 NodeType이고 New, ConstructorArguments 속성이 지정된 값으로 설정된 Members입니다.

예외

constructornull입니다.

또는

arguments의 요소가 null입니다.

또는

members의 요소가 null입니다.

arguments 매개 변수에 들어 있는 요소 수가 constructor가 나타내는 생성자의 매개 변수 수와 다른 경우

또는

arguments의 요소에 대한 Type 속성을 constructor가 나타내는 생성자의 해당 매개 변수 형식에 적용할 수 없는 경우

또는

members 매개 변수의 요소 수가 arguments와 다른 경우

또는

arguments에 있는 요소의 Type 속성이 나타내는 형식을 members의 해당 속성이 나타내는 멤버 형식에 할당할 수 없는 경우

설명

매개 변수는 arguments 로 표시되는 constructor생성자에 대한 매개 변수 수와 동일한 수의 요소를 포함해야 합니다. 가 이nullarguments 비어 있는 것으로 간주되고 Arguments 결과 NewExpression 의 속성은 빈 컬렉션입니다.

가 이 nullMembersmembers 결과 NewExpression 의 속성이 빈 컬렉션입니다. 가 이 아닌 null경우 members 와 동일한 수의 요소가 arguments 있어야 하며 각 요소는 이 아니null어야 합니다. 의 members 각 요소는 가 나타내는 생성자의 선언 형식에서 instance 멤버를 나타내는 constructor또는 FieldInfoMethodInfo 이어야 합니다PropertyInfo. 속성을 나타내는 경우 속성은 연결된 필드의 값을 검색할 수 있어야 합니다. 의 각 요소에 대한 의 argumentsmembers 해당 요소에는 Type 요소가 나타내는 멤버의 형식에 할당할 수 있는 형식을 나타내는 속성이 members 있어야 합니다.

결과 NewExpression 의 속성은 Type 를 나타내는 생성자의 constructor 선언 형식을 나타냅니다.

적용 대상