如果我在C#中定义get并且没有在属性集内定义任何内容会发生什么

时间:2016-09-23 05:25:02

标签: c# properties

    public Format format
    {
        get
        {
            if (format == Format.NONE)
            {
                this.findFormat();
            }
            return this.format;
        }

        set
        {
            ;
        }
    }

如果我做这样的事情会发生什么。设置无任何定义。我这样做是因为我只想在有人想要获取格式时进行一些处理。我希望设置为默认工作

1 个答案:

答案 0 :(得分:0)

如果你写一个空的set block,当你尝试设置属性时什么都不会发生。

来自评论,

  

那么,如果我想自己定义get并希望设置为默认值,我该怎么办?

不幸的是,我能想到的唯一方法就是不太干净。您需要使用支持变量:

private Format format;

public Format Format {
    get {
        if (format == Format.NONE)
        {
            this.findFormat();
        }
        return this.format;
    }

    set {
        format = value;
    }
}