Tôi nhận ra rằng đây có thể là điều thực sự cơ bản, nhưng tôi không chắc về cách thực hành tốt nhất để đạt được những điều sau đây.Thuộc tính lớp học, dễ đặt và có thể đặt trong nội bộ, nhưng chỉ có bên ngoài
Tôi có lớp sau với một tài sản chuỗi 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
}
}
Tôi muốn sau đây là đúng đối với myString
tài sản:
- phaïm nội
- Gettable nội
- KHÔNG thể đặt ở bên ngoài
- Ge ttable externally
Vì vậy, tôi muốn có thể đặt biến myString
trong lớp và làm cho giá trị của nó chỉ đọc từ bên ngoài lớp học.
Có cách nào để đạt được điều này mà không cần dùng một get riêng biệt và thiết lập chức năng và làm cho myString
sở hữu tư nhân, như vậy:
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;
}
}
Ví dụ trên cho phép tôi đặt biến trong nội bộ, nhưng không có quyền truy cập chỉ đọc vào thuộc tính thực tế myString
từ bên ngoài lớp học.
Tôi đã thử protected
nhưng điều này không làm cho giá trị có thể truy cập từ bên ngoài.
Hoàn hảo, cảm ơn sự giúp đỡ của bạn! :) – Luke