如果我做了这样的事情:
public int Foo
{
get
{
return GetFoo() + 5;
int GetFoo() => 3;
}
}
它实际上会编译,这让我想知道这是一个好还是坏的做法。
现在,显然这个特定示例可以重构为:public int Foo => 8;
,但其他情况可能有一些本地方法并在它的主要get
部分做一些事情。
请记住,无论何时编译代码,C# 实际上都会移出它所GetFoo
在的属性或方法,这应该与调用普通方法的属性具有几乎完全相同的性能。
但是,如果有人觉得需要在属性中使用局部函数,这是否表明该属性正在做太多工作而应该是一种方法?