#c# #visual-studio #code-snippets
#c# #visual-studio #фрагменты кода
Вопрос:
Есть ли какой-либо готовый к использованию фрагмент кода в версии 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;
}
Вопрос: есть ли какое-либо готовое решение для этого или, если нет, есть ли у кого-нибудь идея или готовый код, как этого добиться?
С наилучшими пожеланиями,
Марчин
Комментарии:
1. Вы заглядывали в ReSharper?
2. @Ramhound, это то, что я бы тоже рекомендовал. Но, учитывая, что он использует Express edition, я сомневаюсь, что у него есть на это деньги. Работает ли Resharper вообще с Express edition?
3. Любая версия Visual Studio Express не поддерживает дополнения, поскольку это невозможно сделать с помощью фрагмента, его выбор ограничен, в основном, использованием другого редактора.
4. AFAIK ReSharper доступен в качестве пробной версии, и стоимость лицензии слишком велика для моей компании (к сожалению… Я должен использовать Express edition по определенной причине). Более того, пока мне нужна только эта, конкретная функциональность.
5. @mj82, ты говоришь это сейчас. Но если бы вы действительно использовали его в течение некоторого времени, вы бы сказали, что вам нужно много других функций. Я совершенно уверен, что инвестиции в R # были бы действительно финансово выгодны для вашей компании.
Ответ №1:
ReSharper — это то, что вы ищете. Но бесплатной версии нет. Но из .NET 3.5 вы можете инициализировать свойства, не имея явного аргумента для каждого из них.
Ответ №2:
Я не верю, что фрагменты могут помочь вам с этим. Вам нужно было бы иметь возможность анализировать типы свойств для генерации конструкторов, плюс нужно было бы иметь возможность конвертировать в camel case .. фрагменты в основном представляют собой простую замену.
Комментарии:
1. Корпус Camel является второстепенной проблемой, я был бы рад, если бы он повторял свойства 1: 1
Ответ №3:
Что ж… Я думаю, что лучшим решением может быть использование какого-нибудь скрипта. Затем вы могли бы запустить его либо из командной строки, либо, используя отдельный текстовый редактор с поддержкой сценариев, скопировать / вставить класс во второй редактор, запустить скрипт, который генерирует конструктор, скопировать / вставить конструктор обратно в VS Express.
Скажем, Notepad с плагином python script?