Mi rendo conto che questo può essere qualcosa di veramente semplice, ma non sono sicuro della migliore pratica per ottenere quanto segue.Classe Property, Gettable e impostabile internamente, ma accessibile solo esternamente
Ho la seguente classe con una proprietà stringa myString
:
public class MyClass
{
public string myString
{
get {
return myString;
}
}
public void AFunction()
{
// Set the string within a function
this.myString = "New Value"; // Error because the property is read-only
}
}
auguro quanto segue per essere vero per la myString
immobile:
- impostabile internamente
- getTable internamente
- NON impostabile esternamente
- Ge ttable esternamente
Quindi desidero essere in grado di impostare la variabile myString
all'interno della classe e rendere il suo valore di sola lettura dall'esterno della classe.
c'è un modo per raggiungere questo senza l'uso di un get separato e funzione impostata e rendendo il myString
proprietà privata, in questo modo:
public class MyClass
{
private string myString { get; set; }
public void SetString()
{
// Set string from within the class
this.myString = "New Value";
}
public string GetString()
{
// Return the string
return this.myString;
}
}
L'esempio di cui sopra mi permette di impostare la variabile internamente, ma non avere accesso in sola lettura alla proprietà effettiva myString
dall'esterno della classe.
Ho provato protected
ma questo non rende il valore accessibile dall'esterno.
Perfetto, grazie per il vostro aiuto! :) – Luke