{ get; set; } utilisé dans le ViewModel
Je suis à l'aide de c# avec un ViewModel qui passe par le modèle de vue du contrôleur à la vue.
Dans mon modèle de vue, la suite semble fonctionner comme prévu qu'il passe à la Description des informations à partir de la vue arrière du contrôleur:
public string Description { get; set; }
Mais si j'ai la suite, il ne sera pas de retour à la Description. Description montre null
public string Description
Pourquoi l'
{ get; set; }
si important?
OriginalL'auteur Nate Pet | 2012-07-09
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas beaucoup au sujet de asp.net MVC /Rasoir, mais il existe une différence importante entre vos 2 exemples de code.
Crée une propriété, une fois compilé, il y a un domaine privé dans la classe, avec des méthodes get/set que l'accès au terrain. Une propriété déclarée avec {get;set;} est l'équivalent de:
Cependant le suivant:
Crée un simple champ public.
Ma conjecture est que le rasoir utilise la réflexion pour obtenir les valeurs à partir de ce Dernier, et il ressemble probablement pour une propriété, pas un champ. Si elle détermine que la propriété n'existe pas, donc retourner null
Je ne comprends pas ce que tu veux dire par "personnaliser". la valeur est un langage contextuel mot-clé lors de la déclaration d'une propriété, son type est déterminé par le type de la propriété. C'est un mot clé qui se comporte exactement comme un paramètre d'une méthode. Par exemple, vous pourriez re-assigner, si vous le souhaitez.
href="https://msdn.microsoft.com/en-CA/library/a1khb4f8.aspx" >msdn.microsoft.com/en-CA/library/a1khb4f8.aspx
Effectivement je l'ai fait comprendre, j'ai aussi trouvé que l'définir le type de valeur sera le type "string", basé sur la description de la fonction, et cela ne peut pas être personnalisé. Intéressant.
Douce Mère De Dieu. J'ai déjà perdu quelques heures!!! J'ai besoin de vous rappeler de cela pour toujours!!! Merci!!!!
OriginalL'auteur Jf Beaulac
Ci-dessous la syntaxe d'un langage C# fonction "automatique propriétés".
ASP.NET MVC utilise
reflection
etdata-binding
qui fonctionnent uniquement avec des propriétés et non des variables. En utilisant les propriétés d'accès du public est le chemin à parcourir.Suggère la lecture de cette article où l'auteur rétracté son "dégoût" pour les propriétés publiques.
OriginalL'auteur Channs
La
default model binder
est celui qui relie la demande de valeurs de propriétés dans les modèles. Il lie les valeurs uniquement pour public get-définir les propriétés et de ne même pas des champs publics.Si vous souhaitez lier les valeurs de champs alors vous devez écrire votre propre modèle de classeur, mais les propriétés publiques ou mieux que les champs afin que vous n'en avez pas besoin.
OriginalL'auteur VJAI
C'est un soi-disant auto propriété, et c'est essentiellement un raccourci pour la suite (le même code sera généré par le compilateur):
OriginalL'auteur Sangeet Shah