Я хочу программно добавить функцию (TestMethod) в существующий C# -файл. После некоторых поисковых запросов я нашел библиотеку EnvDTE
и CodeModel.AddFunction
-Method, но я не могу найти хороший пример того, что я хочу.Программно добавить функцию в существующий C# -файл с EnvDTE
Я хотел бы добавить функцию с кодом уже в этой вновь созданной функции, а также с атрибутом. Что-то вроде этого:
/// <summary>
/// Documentation
/// </summary>
[TestMethod]
public void TestMethod1()
{
string test = Helper.CodeExample();
}
Может ли кто-нибудь показать мне пример о том, как это сделать?
EDIT: Я хочу отредактировать файл C#, как если бы вы отредактировали текстовый файл. Я знаю, что вы можете сделать это с помощью StreamWriter, но может быть, лучший способ сделать это?
ли вы имеете в виду изменение файла C# (текст) или C# (.NET) класс? Изменение текста полностью отличается от изменения скомпилированного кода. – larsmoa
Я имею в виду текстовый файл C#. Это для создания тестовых файлов. Я могу сделать это с помощью StreamWriter, но, хотя, возможно, это лучший способ сделать это. – Mathieu
Вам нужно найти что-то, что может проанализировать код в дереве синтаксиса, а затем адаптировать это дерево синтаксиса, чтобы добавить вашу функцию, а затем сгенерировать новый файл из этого дерева синтаксиса. –