Expression.New Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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
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 null
to , 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
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 null
to , 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 null
to , 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 null
jest , 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 null
wartość , Members właściwość wynikowej NewExpression jest pustą kolekcją. Jeśli members
nie null
jest , 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 constructor
element . 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.