Ako nastaviť predvolenú hodnotu vlastnosti C# alebo C# automaticky implementovanej vlastnosti
C# vlastnosti alebo automaticky implementované vlastnosti sa v našich triedach široko používajú namiesto polí, t. j. premenných.
Automaticky implementované vlastnosti sú zavedené v C# 3.0.
V tomto učebnom texte sa na jednoduchých príkladoch naučíme 4 rôzne spôsoby nastavenia predvolenej hodnoty pre vlastnosti C#.
- Používanie inicializátorov automaticky nastavovaných vlastností v C# 6
- Priradenie predvolenej hodnoty v konštruktore
- Použitie nastavovača vlastností C#
- Použitie
DefaultValue
Attribute && Property Setter
Ako počiatočnú hodnotu vlastnosti môžeme predpokladať predvolenú hodnotu v C#.
Metóda 1 : Použitie automatických inicializátorov vlastností v C# 6
V C# 6 môžeme deklarovať automaticky implementovanú vlastnosť a nastaviť jej predvolenú hodnotu v deklarácii na jednom riadku.
Syntax je
class Product{
public string Name {get;set;} = "";
}
Štandardne budú mať reťazcové vlastnosti hodnotu null
, Použitím riadkovej deklarácie C# 6 nastavujeme štandardnú hodnotu ako prázdny reťazec.
Metóda 2: Priradenie predvolenej hodnoty v konštruktore
V starších verziách C#, C# 5 a nižších je dobrým zvykom nastaviť predvolené hodnoty vlastností C# v konštruktore triedy.
class Product
{
public string Name { get; set; }
public Product()
{
Name = "";
}
}
Metóda 3: Použitie nastavovača vlastností C#
Na priradenie predvolenej hodnoty automaticky implementovaným vlastnostiam môžeme využiť nastavovač vlastností C#.
class Product
{
private string _name = "";
public string Name {
get { return _name;}
set { _name = value;}
}
}
metóda 4: Použitie DefaultValue
Attribute && Property Setter
V uvedenom príklade sme vytvorili súkromnú premennú a priradili jej predvolenú hodnotu.
Namiesto toho môžeme na priradenie predvolenej hodnoty použiť atribút DefaultValue
.
class Product
{
private string _name;
[DefaultValue("")]
public string Name {
get { return _name;}
set { _name = value;}
}
}
Pamätajte si, že ** atribútDefaultValue
funguje len s nastavovačom vlastností.**
Nižšie uvedený kód nepriradí vlastnosti predvolenú hodnotu. Predvolená hodnota je stále null
.
public class Product
{
[DefaultValue("")]
public string Name { get; set; }
}
Ak používate atribút DefaultValue
, musíte použiť nastavovač vlastnosti.
Zhrnutie
Ak používate C# 6, použite in-line deklaráciu na nastavenie predvolenej hodnoty vlastností C#. V opačnom prípade nastavte predvolenú hodnotu v konštruktore.