Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Expression.MemberInit-Methode: (NewExpression, MemberBinding[])

 

Veröffentlicht: Oktober 2016

Erstellt eine MemberInitExpression.

Namespace:   System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static MemberInitExpression MemberInit(
	NewExpression newExpression,
	params MemberBinding[] bindings
)

Parameter

newExpression
Type: System.Linq.Expressions.NewExpression

Ein NewExpression, auf das die NewExpression-Eigenschaft festgelegt werden soll.

bindings
Type: System.Linq.Expressions.MemberBinding[]

Ein Array von MemberBinding-Objekten, mit denen die Bindings-Auflistung aufgefüllt wird.

Rückgabewert

Type: System.Linq.Expressions.MemberInitExpression

Ein MemberInitExpression, bei dem die NodeType-Eigenschaft gleich MemberInit ist und die NewExpression-Eigenschaft sowie die Bindings-Eigenschaft auf die angegebenen Werte festgelegt sind.

Exception Condition
ArgumentNullException

newExpression oder bindings ist null.

ArgumentException

Die Member Eigenschaft eines Elements von bindings stellt keine Member des Typs dar, die newExpression. Geben Sie darstellt.

Die Type -Eigenschaft der resultierenden MemberInitExpression gleich der Type -Eigenschaft des newExpression.

Im folgenden Beispiel wird veranschaulicht, wie die MemberInit(NewExpression, MemberBinding[]) Methode zum Erstellen einer MemberInitExpression die die Initialisierung von zwei Membern eines neuen Objekts darstellt.

class Animal
{
    public string Species {get; set;}
    public int Age {get; set;}
}

public static void CreateMemberInitExpression()
{
    System.Linq.Expressions.NewExpression newAnimal =
        System.Linq.Expressions.Expression.New(typeof(Animal));

    System.Reflection.MemberInfo speciesMember =
        typeof(Animal).GetMember("Species")[0];
    System.Reflection.MemberInfo ageMember =
        typeof(Animal).GetMember("Age")[0];

    // Create a MemberBinding object for each member
    // that you want to initialize.
    System.Linq.Expressions.MemberBinding speciesMemberBinding =
        System.Linq.Expressions.Expression.Bind(
            speciesMember,
            System.Linq.Expressions.Expression.Constant("horse"));
    System.Linq.Expressions.MemberBinding ageMemberBinding =
        System.Linq.Expressions.Expression.Bind(
            ageMember,
            System.Linq.Expressions.Expression.Constant(12));

    // Create a MemberInitExpression that represents initializing
    // two members of the 'Animal' class.
    System.Linq.Expressions.MemberInitExpression memberInitExpression =
        System.Linq.Expressions.Expression.MemberInit(
            newAnimal,
            speciesMemberBinding,
            ageMemberBinding);

    Console.WriteLine(memberInitExpression.ToString());

    // This code produces the following output:
    //
    // new Animal() {Species = "horse", Age = 12}
}

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 3.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: