Вы когда-либо использовали частные дополнительные методы?

Есть ли какое-либо преимущество наличия опции использования частных дополнительных методов? Я не нашел использования для них вообще. Разве не было бы лучше, если бы C# не позволил им вообще?

9
задан Thanos Papathanasiou 3 March 2010 в 11:35
поделиться

3 ответа

Это полезно для улучшения синтаксиса кода внутри метода / класса, но вы не хотите раскрывать функциональность, предлагаемую этим методом расширения, другим области кодовой базы. Другими словами, как альтернатива обычным частным статическим вспомогательным методам

11
ответ дан 4 December 2019 в 09:36
поделиться

Я просто искал в Google поиск, так как сомневался, что они могут быть полезны. Однако это отличное иллюстративное приложение для них:

http://odetocode.com/blogs/scott/archive/2009/10/05/private-extension-methods.aspx

3
ответ дан 4 December 2019 в 09:36
поделиться

Примите во внимание следующее:

public class MyClass
{
    public void PerformAction(int i) { }
}

public static class MyExtensions
{
    public static void DoItWith10(this MyClass myClass)
    {
        myClass.DoIt(10);
    }

    public static void DoItWith20(this MyClass myClass)
    {
        myClass.DoIt(20);
    }

    private static void DoIt(this MyClass myClass, int i)
    {
        myClass.PerformAction(i);
    }
}

Я понимаю, что этот пример не имеет большого смысла в его текущей форме, но я ' Я уверен, что вы понимаете возможности, которые предоставляют частные методы расширения, а именно возможность иметь общедоступные методы расширения, которые используют частное расширение для инкапсуляции или композиции.

8
ответ дан 4 December 2019 в 09:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: