Являются ли локальные функции в свойствах хорошей идеей или признаком того, что свойство должно быть его собственным методом? - PullRequest
0 голосов
/ 01 июня 2018

Если бы я сделал что-то вроде этого:

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

        int GetFoo() => 3;
    }
}

Это на самом деле скомпилируется, что заставляет меня задуматься, будет ли это хорошей или плохой практикой.

Теперь, очевидно, этот конкретный пример может быть преобразован в: public int Foo => 8;, но в других случаях может быть несколько локальных методов и выполнение каких-либо задач в основной части get.

Помнятот факт, что C # фактически перемещает GetFoo вне свойства или метода, в котором он находится, всякий раз, когда код компилируется, это должно иметь примерно ту же производительность, что и свойство, вызывающее обычный метод.

Однако, Если вы чувствуете необходимость использовать локальные функции в свойстве, является ли это признаком того, что свойство выполняет слишком много работы и должен быть методом вместо этого?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...