CSharp:Attributi e Properties di oggetti
From Aino Wiki
Un duplicato con info che si aggiungono a quanto segue è: Attributi delle proprietà e metodi
Descrizione
Semplicemente sono caratteristiche di oggetti, gli Attributes (Attributi) sono variabili pubbliche alla classe/oggetto comepublic class UserLogin { public string UserName; public string Password; public string Domain; }
Mentre le Properties (proprietà) sono anche pubbliche ma son definite con i costruttori get e set:
public class UserLogin { public string UserName { get; set; } public string Password { get; set; } public string Domain { get; set; } }
Questa differenza è IMPRESCINDIBILE se la classe è sottoposta ad analisi\automatismi che ne controlla le risorse è per l'analisi di Attributi piuttosto che Properties si useranno istruzioni diverse.
Attributi di proprità, DataAnnotations
Si chiamano tecnicamente DataAnnotations, sono delle descrizioni associate a ciascuna Properties utile per associare un determinato comportamento in fase di esecuzione. Notare i seguenti [Required]:
using System.ComponentModel; using System.ComponentModel.DataAnnotations;// necessario per le dataannotations //... public class UserLogin { [Required (ErrorMessage = "Campo Cognome obbligatorio")] [Display(Name = "Nome utente")] public string UserName { get; set; } [Required] public string Password { get; set; } public string Domain { get; set; } }
Altro esempio di Attributi di Properties:
public class UserModels { [Required (ErrorMessage = "Campo Cognome obbligatorio")] [DisplayName ("Cognome")] public string FirstName { get; set; } [Required] public string LastName { get; set; } public string Address { get; set; } [Required] [StringLength (50)] public string Email { get; set; } [DataType (DataType.Date)] public DateTime DOB { get; set; } [Range (10,100000)] public decimal Salary { get; set; } }
CSharp:Automatismo caricamento Entità | XML Serializzazione