2011-05-13 1 views
0

Est-ce que quelqu'un est en mesure d'expliquer ou de fournir un lien vers une page qui décrit les propriétés automatiques sont (par rapport à LINQ) réprésente Conditions VeuillezPropriétés automatique (LINQ)

+6

propriétés automatiques ne sont pas liés à LINQ. Ils ont été ajoutés à C# dans la même version (3.0) que LINQ, mais c'est leur seule connexion. – Gabe

Répondre

0

Voici une propriété automatique en C# 3.0:

public class Person 
{  
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

par rapport à une propriété non automatique:

public class Person 
{  
    string _FirstName; 
    string _LastName; 

    public string FirstName 
    { 
     get { return _FirstName; } 
     set { _FirstName = value; } 
    } 

    public string LastName 
    { 
     get { return _LastName; } 
     set { _LastName = value; } 
    } 
} 

Voici le post par Dan Wahlin sur les propriétés automatiques, d'où je suis arrivé le code ci-dessus.

1

Les propriétés automatiques - mieux les appeler "propriétés implémentées automatiquement", sont une nouvelle syntaxe ajoutée dans les dernières versions de C#, comme l'ont souligné certains commentaires.

Il consiste en une propriété qui déclare ses accesseurs sans corps et compilateur C# crée les champs privés correspondants pour vous:

public string Name 
{ 
    get; 
    set; 
} 

Notez que ce n'est pas un membre abstrait, becase il serait marqué par l'attribut approprié "abstrait"!

En plus de cela, ces accesseurs, comme les non implémentées automatiquement, peuvent avoir la visibilité des attributs: privé, interne, public (comportement par défaut):

public string Name 
{ 
    private get; 
    internal set; 
} 
Questions connexes