Sto cercando di rendere le proprietà della classe che possono essere impostate solo tramite il costruttore della stessa classe.Impostare le proprietà di una classe solo tramite il costruttore
risposta
Fai le proprietà sono di sola lettura backup campi:
public class Thing
{
private readonly string _value;
public Thing(string value)
{
_value = value;
}
public string Value { get { return _value; } }
}
Hey David, grazie per la risposta rapida, pensi che questo renda le proprietà della classe impostate solo dal costruttore –
Sì, sì. Se stai utilizzando C#, aggiorna i tag sul tuo post originale per essere più chiaro. Questa risposta presuppone che tu stia utilizzando C#. Se non lo sei, di nuovo, aggiungi un tag con il linguaggio di programmazione che stai utilizzando, in modo che le persone possano capire la domanda più chiaramente. –
This page from Microsoft descrive come realizzare impostazione di una proprietà solo dal costruttore.
È possibile creare una proprietà immutabile in due modi. È possibile dichiarare l'accessor set come privato. La proprietà è impostabile solo all'interno del tipo , ma è immutabile per i consumatori. È possibile invece dichiarare solo l'accesso get, che rende la proprietà immutabile ovunque tranne nel costruttore del tipo.
In C# 6.0 incluso in Visual Studio 2015, è stata apportata una modifica che consente l'impostazione di ottenere solo proprietà dal costruttore. E solo dal costruttore.
Il codice potrebbe quindi essere semplificata per solo un ottenere solo immobile:
public class Thing
{
public Thing(string value)
{
Value = value;
}
public string Value { get; }
}
Il modo corretto è:
public string MyProperty{ get; private set; }
public MyClassConstructor(string myProperty)
{
MyProperty= myProperty;
}
MyProperty può essere modificato con qualsiasi metodo nella stessa classe. – mayu
Come di C# 6.0 è ora possibile avere ottenere solo le proprietà che possono essere impostato nel costruttore (anche se non esiste un insieme definito nella proprietà stessa. Vedere Property with private setter versus get-only-property
- 1. Recupero solo le proprietà della classe figlia
- 2. Costruttore con tutte le proprietà di classe o costruttore predefinito con setter?
- 3. Estensione di una classe con un solo costruttore di fabbrica
- 4. Come ottenere le proprietà di una classe in WinRT
- 5. Come impostare una proprietà Ant solo se è disinserita
- 6. In Java, è possibile chiamare il costruttore della superclasse di una classe genitore tramite il costruttore della classe figlio della classe genitore?
- 7. Modo corretto di impostare una proprietà BOOL
- 8. Iterazione delle proprietà della classe tramite LINQ
- 9. Autowiring una raccolta tramite il costruttore con Spring
- 10. Costruire la classe, la cui proprietà può essere impostata solo nel costruttore, ma arrivare ovunque?
- 11. Chiamare il costruttore initializer_list tramite make_unique/make_shared
- 12. Modifica parametro proprietà dal costruttore della classe [Python/Tratti]
- 13. Come impostare il livello di log su una classe di proprietà log4j2
- 14. Extjs: estendere la classe tramite costruttore o initComponent?
- 15. Aggiungere dinamicamente le proprietà alla classe C#
- 16. Come reinizializzare o ripristinare le proprietà di una classe?
- 17. Quando è necessario impostare la proprietà 'prototype.constructor' di una classe in Javascript?
- 18. costruttore di copia: una copia profonda di una classe astratta
- 19. Proprietà dell'iniezione per controller di base Classe
- 20. Associazione di una proprietà da una classe a XAML direttamente
- 21. modello di classe costruttore
- 22. Istanziare dinamicamente una classe tramite la variabile
- 23. impostazione solo una proprietà setter
- 24. .NET: C'è una classe di copiare le proprietà di una classe all'altra
- 25. Come impostare una proprietà risorsa
- 26. Posso forzare una classe figlia a utilizzare il costruttore genitore?
- 27. Angular.js Il controller non può impostare le proprietà
- 28. Come impostare le proprietà su un'entità generica?
- 29. Impossibile impostare div.style.left e div.style.top css proprietà tramite JavaScript
- 30. Chiamare un costruttore da un altro costruttore nella stessa classe
Ciao, la domanda è un po 'vaga, non hai menzionato quale linguaggio di programmazione sei re su e le etichette scelte sono povere. Puoi per favore modificare e chiarire/elaborare di più? – BalusC
Quale lingua? Hai provato su Google? Questa è una parte piuttosto elementare di qualsiasi lingua. – noah