Почему бы не разрешить определение метода Extension во вложенном классе? [закрыто]
Я бы посчитал удобным / логичным написать свои расширения для класса во вложенном классе. Основная причина в том, что я мог бы просто назвать этот классExtensions
и позвольте его внешней области именования дать ему уникальное имя типа для компилятора.
Какова техническая причина, чтобы запретить что-то вроде:
public class Foo
{
ObjectSet<Bar> Bars { get; set; }
public static class Extensions
{
public static Bar ByName(this ObjectSet<Bar> bars, string name)
{
return bars.FirstOrDefault(c => c.Name == name);
}
}
}
Принимая во внимание, что теперь я должен создать отдельный свободный класс.
Update/Note: Я не предполагал, что тот факт, что это был внутренний класс, повлияет на доступность метода расширения. Я только хотел обратиться к практической проблеме кодирования отдельным классом с отдельным именем.