Chcę programowo dodać funkcję (TestMethod) do istniejącego pliku C#. Po pewnym przeszukaniu go znalazłem bibliotekę EnvDTE
i CodeModel.AddFunction
-Method, ale nie mogę znaleźć dobrego przykładu tego, czego chcę.Programowo dodaj funkcję do istniejącego pliku C# za pomocą EnvDTE
Chciałbym dodać funkcję z kodem już w tej nowo utworzonej funkcji, a także z atrybutem. Coś takiego:
/// <summary>
/// Documentation
/// </summary>
[TestMethod]
public void TestMethod1()
{
string test = Helper.CodeExample();
}
Czy ktoś może pokazać mi przykład, jak to zrobić?
EDYCJA: Chcę edytować plik C#, tak jak w przypadku edycji pliku tekstowego. Wiem, że możesz to zrobić za pomocą StreamWriter, ale czy jest lepszy sposób na zrobienie tego?
masz na myśli modyfikując plik C# (tekst) lub C# (.NET) klasę? Modyfikowanie tekstu jest zupełnie inne niż modyfikowanie skompilowanego kodu. – larsmoa
Mam na myśli plik tekstowy C#. Służy do generowania plików testowych. Mogę to zrobić za pomocą StreamWriter, ale może istnieje lepszy sposób na zrobienie tego. – Mathieu
Musisz znaleźć coś, co może parsować kod w drzewie składni, a następnie dostosować drzewo składniowe, aby dodać swoją funkcję, a następnie wygenerować nowy plik z tego drzewa składni. –