Glicz 241 Opublikowano 13 grudnia 2020 Udostępnij Opublikowano 13 grudnia 2020 (edytowane) Hej, mam problem z CSharpCodeProvider. Chodzi mi o to, że jak wczytuje kod z innego pliku to wyświetla mi, że nie ma takiej funkcji, a chce żeby ta funkcja była pobierania z głównego programu. Kod z tego drugiego pliku: using System; public class SkEditorAddon { public void Main() { CreateSeparator(); CreateButton("Fajny", Properties.Resources.book_stack_16, click); } } Funkcje z głównego programu: public void CreateSeparator() { ToolStripSeparator separator = new ToolStripSeparator(); toolStrip1.Items.Add(separator); } public void CreateButton(string Name, System.Drawing.Image ButtonIcon, System.EventHandler ButtonFunction) { ToolStripButton button = new ToolStripButton(); button.Text = Name; button.Image = ButtonIcon; button.Click += ButtonFunction; button.DisplayStyle = ToolStripItemDisplayStyle.Image; toolStrip1.Items.Add(button); } oraz wczytywanie kodu z innego pliku Directory.CreateDirectory("Addons"); string[] filesA = Directory.GetFiles("Addons"); foreach (string addons in filesA) Debug.WriteLine("ADDONS: " + addons); CompilerParameters cp = new CompilerParameters(); cp.GenerateExecutable = true; cp.GenerateInMemory = false; cp.TreatWarningsAsErrors = false; CSharpCodeProvider provider = new CSharpCodeProvider(); foreach (string addons in filesA) { CompilerResults cResults = provider.CompileAssemblyFromFile(cp, addons); if (cResults.Errors.HasErrors) { foreach (CompilerError ce in cResults.Errors) Debug.WriteLine("Errors building :" + ce.ToString()); } else if (cResults.Errors.HasWarnings) { foreach (CompilerError ce in cResults.Errors) Debug.WriteLine("Warning building :" + ce.ToString()); } else { System.Type type = cResults.CompiledAssembly.GetType("SkEditorAddon"); } } Proszę o pomoc Edytowane 13 grudnia 2020 przez Michix Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Usunięty#19006 26 Opublikowano 14 grudnia 2020 Udostępnij Opublikowano 14 grudnia 2020 Próbowałeś zrobić te funkcje statyczne? (nie znam się na c++, c#) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 241 Opublikowano 14 grudnia 2020 Autor Udostępnij Opublikowano 14 grudnia 2020 41 minut temu, jhgggg napisał: Próbowałeś zrobić te funkcje statyczne? (nie znam się na c++, c#) No cóż... Nadal nic Kod pliku dodatku: using System; public class SkEditorAddon { static void Main() { var Class = new SkEditor(); Class.CreateButton("test"); } } Kod CreateButton() static void CreateButton(string Name) { var Class = new SkEditor(); ToolStripButton button = new ToolStripButton(); button.Text = Name; button.DisplayStyle = ToolStripItemDisplayStyle.Image; Class.toolStrip1.Items.Add(button); } Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 wiktorm12 104 Opublikowano 14 grudnia 2020 Udostępnij Opublikowano 14 grudnia 2020 A jesteś w stanie pokazać na którą linijkę wskazuje błąd? Z tego co widzę to może jeżeli mówi że nie ma danej funkcji to nie masz jej dobrze zaimportowanej? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 241 Opublikowano 15 grudnia 2020 Autor Udostępnij Opublikowano 15 grudnia 2020 (edytowane) 10 godzin temu, wiktorm12 napisał: A jesteś w stanie pokazać na którą linijkę wskazuje błąd? Z tego co widzę to może jeżeli mówi że nie ma danej funkcji to nie masz jej dobrze zaimportowanej? No właśnie w tym problem, że nawet nie wiem jak to zaimportować. Pierwszy raz pracuje przy tym i nie wiem jak to się robi. Błędy: error CS0246: Nie można odnaleźć nazwy typu lub przestrzeni nazw „SkEditor” (czy nie brakuje dyrektywy „using” lub odwołania do zestawu?). czyli linijka 6 var Class = new SkEditor(); Edytowane 15 grudnia 2020 przez Michix Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 wiktorm12 104 Opublikowano 15 grudnia 2020 Udostępnij Opublikowano 15 grudnia 2020 Godzinę temu, Michix napisał: No właśnie w tym problem, że nawet nie wiem jak to zaimportować. A podkreśla ci się jako podczas edytowania tekstowego ta klasa? jak tak to spróbuj ctrl + spacja Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 241 Opublikowano 15 grudnia 2020 Autor Udostępnij Opublikowano 15 grudnia 2020 1 minutę temu, wiktorm12 napisał: A podkreśla ci się jako podczas edytowania tekstowego ta klasa? jak tak to spróbuj ctrl + spacja nie, ja ten drugi plik piszę w VSCode i jest w osobnym folderze a konkretnie w folderze "Addons", który jest w tym samym miejscu co główny program Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 wiktorm12 104 Opublikowano 15 grudnia 2020 Udostępnij Opublikowano 15 grudnia 2020 Czekaj czy ty piszesz c# w VScode? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
0 Glicz 241 Opublikowano 15 grudnia 2020 Autor Udostępnij Opublikowano 15 grudnia 2020 Teraz, wiktorm12 napisał: Czekaj czy ty piszesz c# w VScode? główny program w Visual Studio, tylko dodatek piszę w VSCode, żeby szybko się przełączać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Glicz 241
Hej, mam problem z CSharpCodeProvider.
Chodzi mi o to, że jak wczytuje kod z innego pliku to wyświetla mi, że nie ma takiej funkcji, a chce żeby ta funkcja była pobierania z głównego programu.
Kod z tego drugiego pliku:
Funkcje z głównego programu:
oraz wczytywanie kodu z innego pliku
Proszę o pomoc
Edytowane przez MichixOdnośnik do komentarza
Udostępnij na innych stronach
8 odpowiedzi na to pytanie
Rekomendowane odpowiedzi