Login Login
MORE

WIDGETS

Widgets

Wanted articles
Who is online?
Article tools

CSharp:Attributi e Properties di oggetti

From Aino Wiki

Jump to: navigation, search

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 come
    public 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; }     
    }

C# | Teoria


CSharp:Automatismo caricamento Entità | XML Serializzazione


Visual Studio

Author