Форматирование исходного кода C # в инициализаторе массива - PullRequest
6 голосов
/ 25 ноября 2010

Возможно ли включить форматирование исходного кода C # в инициализаторах массива в VS.NET 2010?

Elements =
{
// starting from here source code formatting does not work
  new TextViewModel("PublicId") 
  { 
    Label = new LText("Fund Nr:", "de", "Fondsnummer"),
    Watermark = new LText("Please enter fund number...", "de", "Bitte hier Fondsnummer erfassen...")
  },
  new CheckViewModel("Juristic")
  {
    Style = "Radio",
    Default = true,
    Label = new LText("Juristic Fund", "de", "Juristischer Fonds")
  }
}    
// starting from here source code formatting works again

Мне не хватает какой-либо опции форматирования в Сервис-> Параметры-> Текстовый редактор-> C #? *

Ответы [ 4 ]

3 голосов
/ 11 декабря 2014

Это " Не исправит " на connect.microsoft .

Но, как там написано Microsoft:

Если другие считают, что это важная функция, продолжайте голосовать за нее.

Примечание , что это только для многострочных инициализаторов.

2 голосов
/ 13 января 2011

Похоже, что это "особенность" VS.NET

0 голосов
/ 07 января 2011

Это не похоже на действительный C #.Вы пропускаете объявление массива после Elements =.Это должно быть что-то вроде:

Elements = new ViewModelBase[] { /* ... */ };

Как только вы исправите это, форматирование может начать работать правильно.Это для меня (но я использую ReSharper).

0 голосов
/ 07 января 2011

Полагаю, вам нужен конструктор по умолчанию для ваших TextViewModel и CheckViewModel.

Насколько я знаю, это единственный способ .net может сделать это.Кроме того, я предполагаю, что эти два объекта наследуются от базового класса, и ваш массив того же типа, что и ваш базовый класс.

В противном случае созданные объекты будут иметь тип "var".Компилятор выбрасывает соответствие, потому что технически массив также должен быть того же типа "var".

Кроме того, параметр, передаваемый в ctors вашего объекта, должен быть инициализирован в свойстве, точно так же как свойства Label и Watermark объекта TextViewModel, а также Style, Default и Label CheckViewModel соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...