Если бы в Visual Studio для Mac я написал что-то вроде этого:
public class Foo {
public int[,] Property1 { get; }
}
Поместите курсор на пустую строку и нажмите Command + I, чтобы сгенерировать конструктор:
А бывает такое:
public class Foo {
public int[,] Property1 { get; }
public Foo(int[*, *] property1)
{
Property1 = property1;
}
}
Конструктор сгенерирован, но тип параметра - int[*, *]
, который не компилируется.
Я думаю, что это Visual Studio предлагает мне написать что-нибудь, чтобы заменить эти звездочки, а может и нет? Поскольку этого не происходит с одномерными массивами, и я не знаю никакого синтаксиса в C #, который позволяет вам помещать материал в []
в таком месте.
Для трехмерного массива он генерирует 3 звездочки:
public Foo(int[*, *, *] property1)
{
Property1 = property1;
}
Что заставляет Visual Studio делать это?
Моя версия Visual Studio: Visual Studio для Mac Community 7.2.2 (сборка 11).
Я попытался протестировать это в версии Visual Studio для Windows - Visual Studio Community 2015. Но мне не удалось найти кнопку, которая делает это. Согласно этому ответу, в «быстрых действиях» есть кнопка конструктора создания, но я не нашел ни одного. Может дело не в версии Сообщества?