我想回答你的只读方法。
Readonly 不是在公共字段上只有一个 get 访问器的方法。我主要在私有字段上使用只读,我的私有字段只能从构造函数中设置。所以要理解只读字段只能在构造函数中设置,然后你只能访问它。
最佳实践是始终使用属性在构造函数之后访问您的字段。因此,如果您必须从班级内部访问您的属性,我会输入:
private readonly int result;
private readonly int message;
public Result(bool result, string message)
{
this.result = result;
this.message = message;
}
public int Result
{
get{ return result; }
private set { result = value; }
}
public int Message
{
get{ return message; }
private set { message = value; }
}
这样,您只能读取 Result 和 Message 并且仍然可以从类内部写入。
如果您使用继承,如果需要,您可以将集合设置为受保护的。
编辑:在阅读了我根据问题中给出的内容编写的代码后,存在一些错误,其中类名 Result 可能会抛出属性 Result 的错误,而且我们收到一个 bool 作为结果和一个字符串作为构造函数中的消息,但尝试将它们发送到 int 这肯定行不通。但是这里的价值在于逻辑:
private readonly bool result;
private readonly string message;
public Answer(bool result, string message)
{
this.result = result;
this.message = message;
}
public bool Result
{
get{ return result; }
private set { result = value; }
}
public string Message
{
get{ return message; }
private set { message = value; }
}