Фрагмент кода для создания конструктора в VS2010 Express - PullRequest
6 голосов
/ 18 октября 2011

Есть ли готовый фрагмент кода для использования в VS 2010 Express edition (для C #), чтобы создать конструктор с параметрами из выбранных свойств?

Когда я создаю новый класс и написал следующий код:

public class FileDetails
{
    public int ID { get; set; }
    public string FileName { get; set; }
    public string FilePath { get; set; }
    public DateTime LastWriteTime { get; set; }
    public FileStatus LastFileStatus { get; set; }
    public NotifyIfFileNotExists NotifyIfFileNotExists { get; set; }
    public string RecepientsEmailList { get; set; }
    public string AdminEmailList { get; set; }

    public FileDetails()
    {
    }
}

Я хотел бы выделить мышью все общедоступные свойства (или поместить некоторый фрагмент кода), которые производят для меня следующий конструктор:

public FileDetails(int id, string fileName, string filePath, DateTime lastWriteTime, FileStatus lastFileStatus, NotifyIfFileNotExists notifyIfFileNotExists, string recepientsEmailList, string adminEmailList)
{
    this.ID = id;
    this.FileName = fileName;
    this.FilePath = filePath;
    this.LastWriteTime = lastWriteTime;
    this.LastFileStatus = LastFileStatus;
    this.NotifyIfFileNotExists = notifyIfFileNotExists;
    this.RecepientsEmailList = recepientsEmailList;
    this.AdminEmailList = adminEmailList;
}

Вопрос: есть ли готовое решение для этого или, если нет, у кого-нибудь есть идея или готовый код, как этого добиться?

С уважением,
Marcin

Ответы [ 3 ]

1 голос
/ 18 октября 2011

ReSharper - это то, что вы ищете. Но нет бесплатной версии. Но из .NET 3.5 вы можете инициализировать свойства без явного аргумента для каждого из них.

1 голос
/ 18 октября 2011

Я не верю, что фрагменты могут помочь вам в этом. Вам нужно будет иметь возможность анализировать типы свойств для генерации конструкторов, плюс он должен быть в состоянии преобразовать в случай верблюдов. Фрагменты в основном являются простой заменой.

0 голосов
/ 10 апреля 2012

Ну ... я думаю, что лучшим решением может быть использование какого-либо сценария. Затем вы можете запустить его из командной строки или использовать отдельный текстовый редактор с поддержкой сценариев, скопировать / вставить класс во второй редактор, запустить скрипт, который генерирует конструктор, скопировать / вставить конструктор обратно в VS Express.

Скажите, Notepad ++ с плагином скрипта Python?

...