Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

MemberInitExpression classe

 

Date de publication : novembre 2016

Représente l'appel d'un constructeur et l'initialisation d'un ou plusieurs membres du nouvel objet.

Espace de noms:   System.Linq.Expressions
Assembly:  System.Core (dans System.Core.dll)

System.Object
  System.Linq.Expressions.Expression
    System.Linq.Expressions.MemberInitExpression

public sealed class MemberInitExpression : Expression

NomDescription
System_CAPS_pubpropertyBindings

Obtient les liaisons qui décrivent comment initialiser les membres de l’objet nouvellement créé.

System_CAPS_pubpropertyCanReduce

Obtient une valeur qui indique si le nœud d’arborescence expression peut être réduit.(Remplace Expression.CanReduce.)

System_CAPS_pubpropertyNewExpression

Obtient l’expression qui représente l’appel au constructeur.

System_CAPS_pubpropertyNodeType

Retourne le type de nœud de cette Expression. Les nœuds d’extension doivent retourner Extension lors de la substitution de cette méthode.(Remplace Expression.NodeType.)

System_CAPS_pubpropertyType

Obtient le type statique de l'expression que ce Expression représente.(Remplace Expression.Type.)

NomDescription
System_CAPS_protmethodAccept(ExpressionVisitor)

Distribue à la méthode de visite spécifique à ce type de nœud. Par exemple, MethodCallExpression appelle VisitMethodCall.(Hérité de Expression.)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodReduce()

Réduit les MemberInitExpression à une expression plus simple.(Remplace Expression.Reduce().)

System_CAPS_pubmethodReduceAndCheck()

Réduit le nœud en une expression plus simple. Si CanReduce retourne la valeur true, cela doit retourner une expression valide. Cette méthode peut retourner un autre nœud qui doit lui-même être réduit.(Hérité de Expression.)

System_CAPS_pubmethodReduceExtensions()

Réduit l’expression à un type de nœud connu (qui n’est pas un nœud Extension) ou retourne simplement l’expression s’il s’agit d’un type déjà connu.(Hérité de Expression.)

System_CAPS_pubmethodToString()

Retourne une représentation textuelle de Expression.(Hérité de Expression.)

System_CAPS_pubmethodUpdate(NewExpression, IEnumerable<MemberBinding>)

Crée une expression qui est semblable à celle-ci, mais en utilisant les enfants fournis. Si tous les enfants sont identiques, cette expression est retournée.

System_CAPS_protmethodVisitChildren(ExpressionVisitor)

Réduit le nœud puis appelle le délégué visiteur sur l'expression réduite. La méthode lève une exception si le nœud n'est pas réductible.(Hérité de Expression.)

Utilisez la MemberInit des méthodes de fabrique pour créer un MemberInitExpression.

La valeur de la NodeType propriété d’un MemberInitExpression est MemberInit.

L’exemple suivant crée un MemberInitExpression qui représente l’initialisation des deux membres d’un nouvel objet.

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}
}

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 3.5
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: