Expression.New Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maak je een NewExpression.
Overloads
| Name | Description |
|---|---|
| New(ConstructorInfo) |
Hiermee maakt u een NewExpression die het aanroepen van de opgegeven constructor aanroept waarvoor geen argumenten nodig zijn. |
| New(Type) |
Hiermee maakt u een NewExpression die de parameterloze constructor van het opgegeven type aanroept. |
| New(ConstructorInfo, IEnumerable<Expression>) |
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. |
| New(ConstructorInfo, Expression[]) |
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. |
| New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. De leden die toegang hebben tot de geïnitialiseerde constructorvelden, worden opgegeven. |
| New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. De leden die toegang hebben tot de geïnitialiseerde constructorvelden, worden opgegeven als een matrix. |
New(ConstructorInfo)
Hiermee maakt u een NewExpression die het aanroepen van de opgegeven constructor aanroept waarvoor geen argumenten nodig zijn.
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
Parameters
- constructor
- ConstructorInfo
Hiermee ConstructorInfo stelt u de Constructor eigenschap in die gelijk is aan.
Retouren
Een NewExpression met de NodeType eigenschap die gelijk is aan New en de Constructor eigenschap is ingesteld op de opgegeven waarde.
Uitzonderingen
constructor is null.
De constructor die constructor vertegenwoordigt, heeft ten minste één parameter.
Opmerkingen
De Arguments eigenschappen en Members eigenschappen van het resulterende NewExpression zijn lege verzamelingen. De Type eigenschap vertegenwoordigt het declaratietype van de constructor die wordt vertegenwoordigd door constructor.
Van toepassing op
New(Type)
Hiermee maakt u een NewExpression die de parameterloze constructor van het opgegeven type aanroept.
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
Parameters
Retouren
Een NewExpression met de NodeType eigenschap die gelijk is aan New en de Constructor eigenschap is ingesteld op de ConstructorInfo constructor zonder parameters voor het opgegeven type.
Uitzonderingen
type is null.
Het type dat type aangeeft, heeft geen constructor zonder parameters.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de New(Type) methode gebruikt om een methode te maken waarmee een NewExpression nieuw exemplaar van een woordenlijstobject wordt gemaakt door de constructor aan te roepen zonder parameters.
// 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()
Opmerkingen
De type parameter moet een type vertegenwoordigen dat een constructor zonder parameters heeft.
De Arguments eigenschappen en Members eigenschappen van het resulterende NewExpression zijn lege verzamelingen. De Type eigenschap is gelijk aan type.
Van toepassing op
New(ConstructorInfo, IEnumerable<Expression>)
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten.
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
Parameters
- constructor
- ConstructorInfo
Hiermee ConstructorInfo stelt u de Constructor eigenschap in die gelijk is aan.
- arguments
- IEnumerable<Expression>
Een IEnumerable<T> met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.
Retouren
Een NewExpression met de NodeType eigenschap gelijk aan New en de Constructor eigenschappen die Arguments zijn ingesteld op de opgegeven waarden.
Uitzonderingen
De arguments parameter bevat niet hetzelfde aantal elementen als het aantal parameters voor de constructor die constructor vertegenwoordigt.
– of –
De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de constructor die constructor vertegenwoordigt.
Opmerkingen
De arguments parameter moet hetzelfde aantal elementen bevatten als het aantal parameters voor de constructor dat wordt vertegenwoordigd door constructor. Als arguments dat het is null, wordt het beschouwd als leeg en is de Arguments eigenschap van het resulterende NewExpression een lege verzameling.
De Type eigenschap van het resulterende NewExpression vertegenwoordigt het declaratietype van de constructor die wordt vertegenwoordigd door constructor. De Members eigenschap is een lege verzameling.
Van toepassing op
New(ConstructorInfo, Expression[])
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten.
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);
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
Parameters
- constructor
- ConstructorInfo
Hiermee ConstructorInfo stelt u de Constructor eigenschap in die gelijk is aan.
- arguments
- Expression[]
Een matrix met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.
Retouren
Een NewExpression met de NodeType eigenschap gelijk aan New en de Constructor eigenschappen die Arguments zijn ingesteld op de opgegeven waarden.
Uitzonderingen
De lengte komt arguments overeen met het aantal parameters voor de constructor die constructor vertegenwoordigt.
– of –
De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de constructor die constructor vertegenwoordigt.
Opmerkingen
De arguments parameter moet hetzelfde aantal elementen bevatten als het aantal parameters voor de constructor dat wordt vertegenwoordigd door constructor. Als arguments dat het is null, wordt het beschouwd als leeg en is de Arguments eigenschap van het resulterende NewExpression een lege verzameling.
De Type eigenschap van het resulterende NewExpression vertegenwoordigt het declaratietype van de constructor die wordt vertegenwoordigd door constructor. De Members eigenschap is een lege verzameling.
Van toepassing op
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. De leden die toegang hebben tot de geïnitialiseerde constructorvelden, worden opgegeven.
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
Parameters
- constructor
- ConstructorInfo
Hiermee ConstructorInfo stelt u de Constructor eigenschap in die gelijk is aan.
- arguments
- IEnumerable<Expression>
Een IEnumerable<T> met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.
- members
- IEnumerable<MemberInfo>
Een IEnumerable<T> met MemberInfo objecten die moeten worden gebruikt om de Members verzameling te vullen.
Retouren
Een NewExpression met de NodeType eigenschap die gelijk is aan New en de Constructoreigenschappen Arguments die Members zijn ingesteld op de opgegeven waarden.
Uitzonderingen
constructor is null.
– of –
Een element van arguments is null.
– of –
Een element van members is null.
De arguments parameter bevat niet hetzelfde aantal elementen als het aantal parameters voor de constructor die constructor vertegenwoordigt.
– of –
De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de constructor die constructor vertegenwoordigt.
– of –
De members parameter heeft niet hetzelfde aantal elementen als arguments.
– of –
Een element van arguments een Type eigenschap die een type vertegenwoordigt dat niet kan worden toegewezen aan het type lid dat wordt vertegenwoordigd door het bijbehorende element van members.
Opmerkingen
De arguments parameter moet hetzelfde aantal elementen bevatten als het aantal parameters voor de constructor dat wordt vertegenwoordigd door constructor. Als arguments dat het is null, wordt het beschouwd als leeg en is de Arguments eigenschap van het resulterende NewExpression een lege verzameling.
Als members dat het is null, is de Members eigenschap van het resulterende NewExpression resultaat een lege verzameling. Zo members niet null, dan moet het hetzelfde aantal elementen hebben als arguments elk element mag niet zijn null. Elk element van members moet een PropertyInfo, FieldInfo of MethodInfo dat een exemplaarlid vertegenwoordigt op het declaratietype van de constructor die wordt vertegenwoordigd door constructor. Als deze een eigenschap vertegenwoordigt, moet de eigenschap een get toegangsfunctie hebben. Het bijbehorende element van arguments elk element van members moet een Type eigenschap hebben die een type vertegenwoordigt dat kan worden toegewezen aan het type lid dat het members element vertegenwoordigt.
De Type eigenschap van het resulterende NewExpression staat voor het declaratietype van de constructor die constructor vertegenwoordigt.
Van toepassing op
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
Hiermee maakt u een NewExpression die de opgegeven constructor aanroept met de opgegeven argumenten. De leden die toegang hebben tot de geïnitialiseerde constructorvelden, worden opgegeven als een matrix.
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);
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
Parameters
- constructor
- ConstructorInfo
Hiermee ConstructorInfo stelt u de Constructor eigenschap in die gelijk is aan.
- arguments
- IEnumerable<Expression>
Een IEnumerable<T> met Expression objecten die moeten worden gebruikt om de Arguments verzameling te vullen.
- members
- MemberInfo[]
Een matrix met MemberInfo objecten die moeten worden gebruikt om de Members verzameling te vullen.
Retouren
Een NewExpression met de NodeType eigenschap die gelijk is aan New en de Constructoreigenschappen Arguments die Members zijn ingesteld op de opgegeven waarden.
Uitzonderingen
constructor is null.
– of –
Een element van arguments is null.
– of –
Een element van members is null.
De arguments parameter bevat niet hetzelfde aantal elementen als het aantal parameters voor de constructor die constructor vertegenwoordigt.
– of –
De Type eigenschap van een element van arguments is niet toe te wijzen aan het type van de bijbehorende parameter van de constructor die constructor vertegenwoordigt.
– of –
De members parameter heeft niet hetzelfde aantal elementen als arguments.
– of –
Een element van arguments een Type eigenschap die een type vertegenwoordigt dat niet kan worden toegewezen aan het type lid dat wordt vertegenwoordigd door het bijbehorende element van members.
Opmerkingen
De arguments parameter moet hetzelfde aantal elementen bevatten als het aantal parameters voor de constructor dat wordt vertegenwoordigd door constructor. Als arguments dat het is null, wordt het beschouwd als leeg en is de Arguments eigenschap van het resulterende NewExpression een lege verzameling.
Als members dat het is null, is de Members eigenschap van het resulterende NewExpression resultaat een lege verzameling. Zo members niet null, dan moet het hetzelfde aantal elementen hebben als arguments elk element mag niet zijn null. Elk element van members moet een PropertyInfo, FieldInfo of MethodInfo dat een exemplaarlid vertegenwoordigt op het declaratietype van de constructor die wordt vertegenwoordigd door constructor. Als deze een eigenschap vertegenwoordigt, moet de eigenschap de waarde van het gekoppelde veld kunnen ophalen. Het bijbehorende element van arguments elk element van members moet een Type eigenschap hebben die een type vertegenwoordigt dat kan worden toegewezen aan het type lid dat het members element vertegenwoordigt.
De Type eigenschap van het resulterende NewExpression staat voor het declaratietype van de constructor die constructor vertegenwoordigt.