Здравствуйте, AlexNek, Вы писали:
AN>Здравствуйте, xy012111, Вы писали:
X>>Здравствуйте, AlexNek, Вы писали:
AN>>>С названием темы непонятно как точно назвать, но смысл относительно простой.
AN>>>В разных языках существуют различные ограничения при определении интерфейса.
AN>>>Например, в VB.NET можно определять дополнительные типы как события, делегаты и енумы, а в C# нет.
X>>Покажите пожалуйста пример кода — что вы имеете в виду? А то недостаток практики на ВБ.НЕТ мешает понять.
AN>ну есть где- такой код на VB
AN>AN>interface ISample
AN>{
AN> enum Days {Sat=1, Sun, Mon, Tue, Wed, Thu, Fri};
AN> delegate void SampleEventHandler(object sender, SampleEventArgs e);
AN> event SampleEventHandler SampleEvent;
AN> Days GetDays {get;}
AN>}
AN>
Ну, эвенты в C# можно в интерфейсы помещать:
public interface IEvented
{
event EventHandler SampleEvent;
}
С другой стороны, делегаты и энумы — это определения
типов используемых в интерфейсе, а не самого интерфейса.
Зачем определения типов помещать внутрь интерфейса (добавлять дополнительный уровень вложенности), если их можно определить рядом, в том же файле?
Так что, имхо, вполне логичное ограничение, по Оккаме
Почему в VB так разрешено — не знаю, возможно по историческим причинам.