Expression.New Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skapar en NewExpression.
Överlagringar
| Name | Description |
|---|---|
| New(ConstructorInfo) |
Skapar en NewExpression som representerar att anropa den angivna konstruktorn som inte tar några argument. |
| New(Type) |
Skapar en NewExpression som representerar att anropa den parameterlösa konstruktorn av den angivna typen. |
| New(ConstructorInfo, IEnumerable<Expression>) |
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. |
| New(ConstructorInfo, Expression[]) |
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. |
| New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>) |
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. De medlemmar som har åtkomst till konstruktorns initierade fält anges. |
| New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[]) |
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. De medlemmar som har åtkomst till konstruktorns initierade fält anges som en matris. |
New(ConstructorInfo)
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den angivna konstruktorn som inte tar några argument.
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
Parametrar
- constructor
- ConstructorInfo
För ConstructorInfo att ange egenskapen Constructor lika med.
Returer
En NewExpression som har egenskapen NodeType lika med New och egenskapen Constructor inställd på det angivna värdet.
Undantag
constructor är null.
Konstruktorn som constructor representerar har minst en parameter.
Kommentarer
Egenskaperna Arguments och Members för resultatet NewExpression är tomma samlingar. Egenskapen Type representerar den deklareringstyp för konstruktorn som representeras av constructor.
Gäller för
New(Type)
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den parameterlösa konstruktorn av den angivna typen.
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
Parametrar
Returer
En NewExpression som har NodeType egenskapen lika med New och egenskapen Constructor inställd på ConstructorInfo som representerar konstruktorn utan parametrar för den angivna typen.
Undantag
type är null.
Den typ som type representerar har ingen konstruktor utan parametrar.
Exempel
I följande exempel visas hur du använder New(Type) metoden för att skapa en NewExpression som representerar skapande av en ny instans av ett ordlisteobjekt genom att anropa konstruktorn utan parametrar.
// 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()
Kommentarer
Parametern type måste representera en typ som har en konstruktor utan parametrar.
Egenskaperna Arguments och Members för resultatet NewExpression är tomma samlingar. Egenskapen Type är lika med type.
Gäller för
New(ConstructorInfo, IEnumerable<Expression>)
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna 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);
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
Parametrar
- constructor
- ConstructorInfo
För ConstructorInfo att ange egenskapen Constructor lika med.
- arguments
- IEnumerable<Expression>
En IEnumerable<T> som innehåller Expression objekt som ska användas för att fylla samlingen Arguments .
Returer
En NewExpression som har egenskapen NodeType lika med New och Constructor egenskaperna och Arguments inställda på de angivna värdena.
Undantag
Parametern arguments innehåller inte samma antal element som antalet parametrar för konstruktorn som constructor representerar.
-eller-
Egenskapen Type för ett element i arguments kan inte tilldelas till typen av motsvarande parameter för konstruktorn som constructor representerar.
Kommentarer
Parametern arguments måste innehålla samma antal element som antalet parametrar för konstruktorn som representeras av constructor. Om arguments är nullanses den vara tom och egenskapen Arguments för den resulterande NewExpression är en tom samling.
Egenskapen Type för resultatet NewExpression representerar den deklarerande typen av konstruktorn som representeras av constructor. Egenskapen Members är en tom samling.
Gäller för
New(ConstructorInfo, Expression[])
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna 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);
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
Parametrar
- constructor
- ConstructorInfo
För ConstructorInfo att ange egenskapen Constructor lika med.
- arguments
- Expression[]
En matris med Expression objekt som ska användas för att fylla samlingen Arguments .
Returer
En NewExpression som har egenskapen NodeType lika med New och Constructor egenskaperna och Arguments inställda på de angivna värdena.
Undantag
Längden arguments på matchar antalet parametrar för konstruktorn som constructor representerar.
-eller-
Egenskapen Type för ett element i arguments kan inte tilldelas till typen av motsvarande parameter för konstruktorn som constructor representerar.
Kommentarer
Parametern arguments måste innehålla samma antal element som antalet parametrar för konstruktorn som representeras av constructor. Om arguments är nullanses den vara tom och egenskapen Arguments för den resulterande NewExpression är en tom samling.
Egenskapen Type för resultatet NewExpression representerar den deklarerande typen av konstruktorn som representeras av constructor. Egenskapen Members är en tom samling.
Gäller för
New(ConstructorInfo, IEnumerable<Expression>, IEnumerable<MemberInfo>)
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. De medlemmar som har åtkomst till konstruktorns initierade fält anges.
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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
Parametrar
- constructor
- ConstructorInfo
För ConstructorInfo att ange egenskapen Constructor lika med.
- arguments
- IEnumerable<Expression>
En IEnumerable<T> som innehåller Expression objekt som ska användas för att fylla samlingen Arguments .
- members
- IEnumerable<MemberInfo>
En IEnumerable<T> som innehåller MemberInfo objekt som ska användas för att fylla samlingen Members .
Returer
En NewExpression som har NodeType egenskapen lika med New och Constructoregenskaperna , Arguments och Members inställd på de angivna värdena.
- Attribut
Undantag
constructor är null.
-eller-
Ett element i arguments är null.
-eller-
Ett element i members är null.
Parametern arguments innehåller inte samma antal element som antalet parametrar för konstruktorn som constructor representerar.
-eller-
Egenskapen Type för ett element i arguments kan inte tilldelas till typen av motsvarande parameter för konstruktorn som constructor representerar.
-eller-
Parametern members har inte samma antal element som arguments.
-eller-
Ett element i arguments har en Type egenskap som representerar en typ som inte kan tilldelas till den typ av medlem som representeras av motsvarande element i members.
Kommentarer
Parametern arguments måste innehålla samma antal element som antalet parametrar för konstruktorn som representeras av constructor. Om arguments är nullanses den vara tom och egenskapen Arguments för den resulterande NewExpression är en tom samling.
Om members är nullär egenskapen för Members resultatet NewExpression en tom samling. Om members inte nullmåste det ha samma antal element som arguments och varje element får inte vara null. Varje element members i måste vara en PropertyInfo, FieldInfo eller MethodInfo som representerar en instansmedlem för den deklarerande typen av konstruktorn som representeras av constructor. Om den representerar en egenskap måste egenskapen ha en get accessor. Motsvarande element arguments i för varje element members i måste ha en Type egenskap som representerar en typ som kan tilldelas den typ av medlem som elementet members representerar.
Egenskapen Type för resultatet NewExpression representerar deklareringstypen för konstruktorn som constructor representerar.
Gäller för
New(ConstructorInfo, IEnumerable<Expression>, MemberInfo[])
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
- Källa:
- NewExpression.cs
Skapar en NewExpression som representerar att anropa den angivna konstruktorn med de angivna argumenten. De medlemmar som har åtkomst till konstruktorns initierade fält anges som en matris.
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);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")]
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
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("The Property metadata or other accessor may be trimmed.")>]
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
Parametrar
- constructor
- ConstructorInfo
För ConstructorInfo att ange egenskapen Constructor lika med.
- arguments
- IEnumerable<Expression>
En IEnumerable<T> som innehåller Expression objekt som ska användas för att fylla samlingen Arguments .
- members
- MemberInfo[]
En matris med MemberInfo objekt som ska användas för att fylla samlingen Members .
Returer
En NewExpression som har NodeType egenskapen lika med New och Constructoregenskaperna , Arguments och Members inställd på de angivna värdena.
- Attribut
Undantag
constructor är null.
-eller-
Ett element i arguments är null.
-eller-
Ett element i members är null.
Parametern arguments innehåller inte samma antal element som antalet parametrar för konstruktorn som constructor representerar.
-eller-
Egenskapen Type för ett element i arguments kan inte tilldelas till typen av motsvarande parameter för konstruktorn som constructor representerar.
-eller-
Parametern members har inte samma antal element som arguments.
-eller-
Ett element i arguments har en Type egenskap som representerar en typ som inte kan tilldelas till den typ av medlem som representeras av motsvarande element i members.
Kommentarer
Parametern arguments måste innehålla samma antal element som antalet parametrar för konstruktorn som representeras av constructor. Om arguments är nullanses den vara tom och egenskapen Arguments för den resulterande NewExpression är en tom samling.
Om members är nullär egenskapen för Members resultatet NewExpression en tom samling. Om members inte nullmåste det ha samma antal element som arguments och varje element får inte vara null. Varje element members i måste vara en PropertyInfo, FieldInfo eller MethodInfo som representerar en instansmedlem för den deklarerande typen av konstruktorn som representeras av constructor. Om den representerar en egenskap måste egenskapen kunna hämta värdet för det associerade fältet. Motsvarande element arguments i för varje element members i måste ha en Type egenskap som representerar en typ som kan tilldelas den typ av medlem som elementet members representerar.
Egenskapen Type för resultatet NewExpression representerar deklareringstypen för konstruktorn som constructor representerar.