我意识到这可能是非常基本的事情,但我不确定实现以下目标的最佳实践。
我有以下带有字符串属性的类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
}
}
我希望以下内容适用于该myString
物业:
- 可内部设置
- 内部可获取
- 不可在外部设置
- 可外部获取
所以我希望能够myString
在类内设置变量,并使其值从类外只读。
有没有办法在不使用单独的 get 和 set 函数并使myString
属性私有的情况下实现这一点,如下所示:
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;
}
}
myString
上面的示例允许我在内部设置变量,但不能从类外部对实际属性进行只读访问。
我试过protected
了,但这并不能从外部访问该值。