如果我在c#中定义get而不定义set for属性,会发生什么?
本文关键字:定义 属性 什么 for get 如果 set | 更新日期: 2023-09-27 18:08:19
public Format format
{
get
{
if (format == Format.NONE)
{
this.findFormat();
}
return this.format;
}
set
{
;
}
}
如果我做这样的事情会发生什么?Set nothing is defined。我这样做是因为我只想做一些处理时,有人想要得到格式。我想设置为默认
如果你写一个空的set块,当你试图设置属性时什么也不会发生。
从注释中,
那么,如果我想自己定义get并设置为默认值,我该怎么做呢?
不幸的是,我能想到的唯一方法不是很干净。您需要使用一个备用变量:
private Format format;
public Format Format {
get {
if (format == Format.NONE)
{
this.findFormat();
}
return this.format;
}
set {
format = value;
}
}