Zdaję sobie sprawę, że może to być coś naprawdę podstawowego, ale nie jestem pewien co do najlepszej praktyki, aby osiągnąć następujące.Class Property, GetTable i wewnętrznie możliwe do ustawienia, ale tylko z zewnętrznym
Mam następujące klasy z właściwości ciąg 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
}
}
życzę następujące czynności, aby mogło być prawdziwe dla właściwości myString
:
- nastawianych wewnętrznie
- pomniane przeżycie wewnętrznie
- NIE można ustawiać zewnętrznie
- Ge ttable zewnętrznie
Dlatego chcę mieć możliwość ustawienia zmiennej myString
w klasie i nadania jej wartości tylko do odczytu spoza klasy.
Czy istnieje sposób, aby to osiągnąć bez użycia oddzielnego pobierania i ustawiania funkcji i podejmowania myString
własność prywatna, tak jak poniżej:
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;
}
}
Powyższy przykład pozwala mi ustawić zmienną wewnętrznie, ale nie mają dostępu tylko do odczytu do rzeczywistej właściwości myString
spoza klasy.
Próbowałem protected
, ale to nie powoduje, że wartość jest dostępna z zewnątrz.
Idealne, dziękuję za pomoc! :) – Luke