Используя модификатор 'new' с интерфейсами по заданному индексу, например 'var b = new ISomeInterface[0];', что это значит?
Я впервые столкнулся со следующим синтаксисом C#, я бы отбросил его как синтаксическую ошибку, за исключением того, что VS абсолютно доволен этим и компилирует.
var a = new ISomeInterface[0];
Интерфейс объявлен как
public interface ISomeInterface
{
}
Ссылки на дальнейшее чтение также высоко ценятся.
2 ответа
Решение
Вы создали массив ISomeInterface
,
Это то же самое, что и объявление любого другого массива, например:
string[] a = new string[0];
Сначала я тоже кое-что предпринял, потому что на первый взгляд оказалось, что код создает экземпляр интерфейса, чего вы обычно не можете сделать.
Он создает новый массив (нулевой длины), а не новый экземпляр интерфейса. Кстати, вы можете на самом деле new
интерфейс... при правильных условиях;p (атрибуты COM)