Expression.New Metod

Definition

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

type
Type

En Type som har en konstruktor som inte tar några argument.

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

constructor är null.

-eller-

Ett element i arguments ä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.

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

constructor är null.

-eller-

Ett element i arguments är null.

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.

Gäller för