C# Abréviation Question De La Propriété
Voici donc un peu de syntaxe que je n'ai jamais vu avant, quelqu'un peut me dire ce que cela signifie? Vous ne savez pas si c'est censé être une abréviation pour un résumé de déclaration de la propriété ou de quelque chose ou quoi.
public Class1 myVar { get; set; }
Pour ce que sa vaut, Class1 est une classe abstraite.
Vous devez vous connecter pour publier un commentaire.
En C# 3.0 et plus tard, les propriétés implémentées automatiquement faire de la propriété-déclaration plus concis, quand aucun autre logique est nécessaire dans les accesseurs de propriété. Ils permettent également au client de code pour créer des objets Lorsque vous déclarez une propriété, comme indiqué dans l'exemple suivant, le compilateur crée un privé, anonyme champ de stockage qui peuvent être accessibles uniquement par le biais de la propriété de l'obtenir et de définir des accesseurs.
C'est la syntaxe pour permettre au compilateur de créer un (caché) terrain pour vous.
Également très utile:
protected
fonctionne, trop. Tout commeprivate
. Je suis assez certain que vous pouvez définir l'accessibilité pour lesget
, trop, mais je n'ai jamais essayé.set
les opérations peuvent être effectuées uniquement par les fonctions de membre de classe. Merci 🙂Il peut ressembler à un résumé de la propriété ou une propriété à partir d'une interface, mais il est loin d'elle. Afin d'encourager les développeurs à utiliser les propriétés (comme ils sont une des meilleures pratiques pour de nombreuses raisons) Microsoft a décidé d'inclure cette fonctionnalité dans C# 3 pour vous permettre de déclarer des propriétés avec plus de facilité.
Ici est la façon standard de la création d'une propriété:
Maintenant, cela nécessite un peu de temps de frappe et que les développeurs sont paresseux, à la base, parfois, nous sommes tentés de créer des champs publics juste pour gagner du temps.
Maintenant avec le C# 3 compilateur que nous pouvons faire ceci:
Bien que cela semble un peu étrange, considérer le travail du compilateur est de le faire en votre nom. Le code sera compilé à ceci:
Ainsi, même si la syntaxe ressemble un peu étrange, vous êtes encore en train de créer une propriété exactement la manière que vous avez utilisé pour.
Il s'agit d'une automatique ou auto-mise en œuvre de la propriété, et il n'est pas abstraite. Vous pouvez utiliser cette propriété comme-est. Le compilateur va créer un magasin de sauvegarde de derrière les coulisses.
C'est très bien comme simplement à l'aide d'un champ au lieu d'une propriété, mais vous obtenez la propriété de la sémantique et vous pouvez l'utiliser pour des choses comme la liaison de données qui nécessitent des propriétés.
C'est un raccourci pour un bien qui ne fait rien de plus que de stocker la valeur dans un champ. Il serait donc équivalente à:
C'est juste un simple bien que le glissement annuel pourrait remplacer avec de plus en plus complexe evantuation à une date ultérieure, sans changer l'interface.
Ce sont les propriétés Implémentées automatiquement. Ils vous permettent de vous rendre le code plus concis. Vous pouvez en lire plus à ce sujet ici:
Auto-Mettre En Œuvre
Vous pouvez également faire des accesseurs ont des niveaux d'accès différents:
public int MyVar { get; private set; }
Cela vous permet de vous exposer la propriété externe à la classe et toujours en interne.
Automatique des getters et les setters.