Udostępnij za pośrednictwem


Expression.New Metoda

Definicja

Tworzy element NewExpression.

Przeciążenia

New(ConstructorInfo)

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora, który nie przyjmuje żadnych argumentów.

New(Type)

Tworzy obiekt NewExpression , który reprezentuje wywołanie konstruktora bez parametrów określonego typu.

New(ConstructorInfo, IEnumerable<Expression>)

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami.

New(ConstructorInfo, Expression[])

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami.

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

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami. Elementy członkowskie, które uzyskują dostęp do zainicjowanych pól konstruktora, są określone.

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

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami. Elementy członkowskie, które uzyskują dostęp do zainicjowanych pól konstruktora, są określane jako tablica.

New(ConstructorInfo)

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora, który nie przyjmuje żadnych argumentów.

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

Parametry

constructor
ConstructorInfo

Właściwość , ConstructorInfo aby ustawić właściwość równą Constructor .

Zwraca

WłaściwośćNewExpression, która ma właściwość równą NewNodeType i Constructor właściwość ustawioną na określoną wartość.

Wyjątki

constructor to null.

Konstruktor reprezentujący constructor ma co najmniej jeden parametr.

Uwagi

Właściwości Arguments i Members wynikowych NewExpression to puste kolekcje. Właściwość Type reprezentuje deklarowany typ konstruktora reprezentowanego przez constructor.

Dotyczy

New(Type)

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression , który reprezentuje wywołanie konstruktora bez parametrów określonego typu.

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

Parametry

type
Type

Element Type , który ma konstruktor, który nie przyjmuje żadnych argumentów.

Zwraca

Właściwość NewExpression , która ma NodeType właściwość równą New i Constructor właściwość ustawioną na ConstructorInfo , która reprezentuje konstruktor bez parametrów dla określonego typu.

Wyjątki

type to null.

Typ, który type reprezentuje, nie ma konstruktora bez parametrów.

Przykłady

W poniższym przykładzie pokazano, jak za pomocą New(Type) metody utworzyć obiekt NewExpression reprezentujący konstruowanie nowego wystąpienia obiektu słownika przez wywołanie konstruktora bez parametrów.

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

Uwagi

Parametr type musi reprezentować typ, który ma konstruktor bez parametrów.

Właściwości Arguments i Members wynikowych NewExpression to puste kolekcje. Właściwość Type jest równa type.

Dotyczy

New(ConstructorInfo, IEnumerable<Expression>)

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami.

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

Parametry

constructor
ConstructorInfo

Właściwość , ConstructorInfo aby ustawić właściwość równą Constructor .

arguments
IEnumerable<Expression>

Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .

Zwraca

WłaściwośćNewExpression, która ma właściwość równą NewNodeType właściwości i i ArgumentsConstructor ustawioną na określone wartości.

Wyjątki

constructor to null.

-lub-

Elementem elementu arguments jest null.

Parametr arguments nie zawiera tej samej liczby elementów co liczba parametrów konstruktora, który constructor reprezentuje.

-lub-

Właściwość Type elementu elementu arguments jest niemożliwa do przypisania do typu odpowiadającego mu parametru konstruktora, który constructor reprezentuje.

Uwagi

Parametr arguments musi zawierać taką samą liczbę elementów, jak liczba parametrów konstruktora reprezentowanego przez element constructor. Jeśli arguments jest nullto , jest traktowana jako pusta, a Arguments właściwość wynikowej NewExpression jest pustą kolekcją.

Właściwość Type wynikowego NewExpression reprezentuje deklarowany typ konstruktora reprezentowanego przez obiekt constructor. Właściwość Members jest pustą kolekcją.

Dotyczy

New(ConstructorInfo, Expression[])

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami.

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

Parametry

constructor
ConstructorInfo

Właściwość , ConstructorInfo aby ustawić właściwość równą Constructor .

arguments
Expression[]

Tablica Expression obiektów do użycia w celu wypełnienia kolekcji Arguments .

Zwraca

WłaściwośćNewExpression, która ma właściwość równą NewNodeType właściwości i i ArgumentsConstructor ustawioną na określone wartości.

Wyjątki

constructor to null.

-lub-

Elementem elementu arguments jest null.

Długość parametrów arguments jest zgodna z liczbą parametrów konstruktora, który constructor reprezentuje.

-lub-

Właściwość Type elementu elementu arguments jest niemożliwa do przypisania do typu odpowiadającego mu parametru konstruktora, który constructor reprezentuje.

Uwagi

Parametr arguments musi zawierać taką samą liczbę elementów, jak liczba parametrów konstruktora reprezentowanego przez element constructor. Jeśli arguments jest nullto , jest traktowana jako pusta, a Arguments właściwość wynikowej NewExpression jest pustą kolekcją.

Właściwość Type wynikowego NewExpression reprezentuje deklarowany typ konstruktora reprezentowanego przez obiekt constructor. Właściwość Members jest pustą kolekcją.

Dotyczy

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

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression , który reprezentuje wywołanie określonego konstruktora z określonymi argumentami. Elementy członkowskie, które uzyskują dostęp do zainicjowanych pól konstruktora, są określone.

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

Parametry

constructor
ConstructorInfo

Właściwość , ConstructorInfo aby ustawić właściwość równą Constructor .

arguments
IEnumerable<Expression>

Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .

members
IEnumerable<MemberInfo>

Obiekt IEnumerable<T> zawierający MemberInfo obiekty używane do wypełniania kolekcji Members .

Zwraca

WłaściwośćNewExpression, która ma właściwość równą NewNodeType i ConstructorArguments , i właściwości Members ustawione na określone wartości.

Wyjątki

constructor to null.

-lub-

Elementem elementu arguments jest null.

-lub-

Elementem elementu members jest null.

Parametr arguments nie zawiera tej samej liczby elementów co liczba parametrów konstruktora, który constructor reprezentuje.

-lub-

Właściwość Type elementu elementu arguments jest niemożliwa do przypisania do typu odpowiadającego mu parametru konstruktora, który constructor reprezentuje.

-lub-

Parametr members nie ma tej samej liczby elementów co arguments.

-lub-

Element arguments ma Type właściwość reprezentującą typ, który nie można przypisać do typu elementu członkowskiego reprezentowanego przez odpowiadający mu element members.

Uwagi

Parametr arguments musi zawierać taką samą liczbę elementów, jak liczba parametrów konstruktora reprezentowanego przez element constructor. Jeśli arguments jest nullto , jest traktowana jako pusta, a Arguments właściwość wynikowej NewExpression jest pustą kolekcją.

Jeśli members jest to null, Members właściwość wynikowej NewExpression jest pustą kolekcją. Jeśli members nie nulljest , musi mieć taką samą liczbę elementów, jak arguments i każdy element nie może być null. Każdy element musi members być elementem PropertyInfolub FieldInfoMethodInfo reprezentującym element członkowski wystąpienia w deklarowanym typie konstruktora reprezentowanego przez .constructor Jeśli reprezentuje właściwość, właściwość musi mieć metodę get dostępu. Odpowiedni element arguments dla każdego elementu members musi mieć Type właściwość reprezentującą typ, który można przypisać do typu elementu members reprezentowanego przez element.

Właściwość Type wynikowego NewExpression reprezentuje deklarowany typ konstruktora, który constructor reprezentuje.

Dotyczy

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

Źródło:
NewExpression.cs
Źródło:
NewExpression.cs
Źródło:
NewExpression.cs

Tworzy obiekt NewExpression reprezentujący wywołanie określonego konstruktora z określonymi argumentami. Elementy członkowskie, które uzyskują dostęp do pól zainicjowanych przez konstruktora, są określane jako tablica.

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

Parametry

constructor
ConstructorInfo

Właściwość ConstructorInfo , aby ustawić właściwość równą Constructor .

arguments
IEnumerable<Expression>

Obiekt IEnumerable<T> zawierający Expression obiekty używane do wypełniania kolekcji Arguments .

members
MemberInfo[]

Tablica MemberInfo obiektów do użycia w celu wypełnienia kolekcji Members .

Zwraca

Właściwość NewExpression , która ma właściwość równą NewNodeType i Constructor, Arguments i Members właściwości ustawione na określone wartości.

Wyjątki

constructor to null.

-lub-

Elementem elementu arguments jest null.

-lub-

Elementem elementu members jest null.

Parametr arguments nie zawiera tej samej liczby elementów co liczba parametrów konstruktora, który constructor reprezentuje.

-lub-

Właściwość Type elementu elementu arguments jest niemożliwa do przypisania do typu odpowiadającego mu parametru konstruktora, który constructor reprezentuje.

-lub-

Parametr members nie ma tej samej liczby elementów co arguments.

-lub-

Element arguments ma właściwość reprezentującą Type typ, który nie można przypisać do typu elementu członkowskiego reprezentowanego przez odpowiedni element .members

Uwagi

Parametr arguments musi zawierać taką samą liczbę elementów, jak liczba parametrów konstruktora reprezentowanego przez constructor. Jeśli arguments wartość to null, jest traktowana jako pusta, a Arguments właściwość wynikowej NewExpression jest pustą kolekcją.

Jeśli members parametr ma nullwartość , Members właściwość wynikowej NewExpression jest pustą kolekcją. Jeśli members nie nulljest , musi mieć taką samą liczbę elementów, jak arguments i każdy element nie może być null. Każdy element musi być elementem PropertyInfomembers , FieldInfo lub MethodInfo reprezentującym element członkowski wystąpienia w deklarowanym typie konstruktora reprezentowanego przez constructorelement . Jeśli reprezentuje właściwość, właściwość musi być w stanie pobrać wartość skojarzonego pola. Odpowiadający element arguments dla każdego elementu members musi mieć właściwość reprezentującą Type typ, który można przypisać do typu elementu członkowskiego reprezentowanego przez members element.

Właściwość Type wynikowego NewExpression reprezentuje deklarowany typ konstruktora, który constructor reprezentuje.

Dotyczy