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, IEnumerable<MemberBinding>)

 

Veröffentlicht: Oktober 2016

Stellt einen Ausdruck dar, der ein neues Objekt erstellt und eine Eigenschaft des Objekts initialisiert.

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

public static MemberInitExpression MemberInit(
	NewExpression newExpression,
	IEnumerable<MemberBinding> bindings
)

Parameter

newExpression
Type: System.Linq.Expressions.NewExpression

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

bindings
Type: System.Collections.Generic.IEnumerable<MemberBinding>

Ein IEnumerable<T>, das MemberBinding-Objekte enthält, mit denen die Bindings-Auflistung aufgefüllt werden soll.

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.

Das folgende Beispiel zeigt einen Ausdruck, der ein neues Objekt erstellt und eine Eigenschaft des Objekts initialisiert.


// Add the following directive to your file:
// using System.Linq.Expressions;  

class TestMemberInitClass
{
    public int sample { get; set; }
}

static void MemberInit()
{   
    // This expression creates a new TestMemberInitClass object
    // and assigns 10 to its sample property.
    Expression testExpr = Expression.MemberInit(
        Expression.New(typeof(TestMemberInitClass)),
        new List<MemberBinding>() {
            Expression.Bind(typeof(TestMemberInitClass).GetMember("sample")[0], Expression.Constant(10))
        }
    );

    // The following statement first creates an expression tree,
    // then compiles it, and then runs it.
    var test = Expression.Lambda<Func<TestMemberInitClass>>(testExpr).Compile()();
    Console.WriteLine(test.sample);
}

// This code example produces the following output:
//
// 10

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: