Рассмотрим следующее:
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);
}
}
Я понимаю, что пример не имеет особого смысла в его текущей форме, но я уверен, что вы можете оценить возможности, которые предоставляют частные методы расширения, а именно возможность иметь открытые методы расширения, которые используют частное расширение для инкапсуляции или состав.