属性中的局部函数是一个好主意还是一个符号属性应该是它自己的方法?

时间:2018-06-01 07:07:04

标签: c# methods properties conventions local-functions

如果我做了这样的事情:

public int Foo
{
    get
    {
        return GetFoo() + 5;

        int GetFoo() => 3;
    }
}

它实际上会编译,这让我想知道这是好事还是坏事。

现在,显然这个特定的例子可以重构为:public int Foo => 8;,但是其他情况下可能有一些本地方法,并在其主要get部分中进行处理。

请记住,C#实际上会在编译代码时将GetFoo 移动到之外的属性或方法中,这应该具有与属性完全相同的性能调用正常方法。

然而,如果有人觉得需要在一个属性中使用本地函数,那么这是一个标志,表明该属性做了太多工作而应该是一种方法吗?

0 个答案:

没有答案