• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gdzie wrzucić zewnętrzny kod?

Aruba Cloud - Virtual Private Server VPS
0 głosów
568 wizyt
pytanie zadane 22 kwietnia 2020 w C# przez Munvik Dyskutant (9,350 p.)
Mam program, który chce rozszerzyć o dodatkowy kod, lecz chce zeby działał w osobnym module mniej wiecej tak jak polecenia konsoli. Chce dodawac kolejne podprogramy w taki sposób, żeby działał z głównym. Wydaje mi się, że dobrym pomysłem jest użycie jsona tutaj i połaczyć polecenie -> podprogram np otwórz przeglądarkę -> przegladarka.?
no i właśnie nie wiem gdzie umieścic kod odpowiedzialny za odpalenie przeglądarki.

1 odpowiedź

+2 głosów
odpowiedź 23 kwietnia 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)
Zakładając, że tworzysz ograniczony zbiór rodzajów podprogramów, możesz je zamieścić w kodzie głównego programu. Przykładem może być przeglądarka: podprogram, który podczas wywołania uruchamia dany program - w tym przypadku przeglądarkę.

Zakładając, że społeczność będzie tworzyć nowe rodzaje, bez ingerencji twórcy głównego programu, można byłoby tutaj zastosować dynamiczne ładowanie bibliotek, a dla twórców należałoby wypuścić bibliotekę, która zawierałaby klasy, które pomagałyby tworzyć nowe rodzaje podprogramów. W tym przypadku polecam zerknąć tutaj:
https://docs.microsoft.com/pl-pl/dotnet/api/system.reflection.assembly?view=netframework-4.8#methods

https://stackoverflow.com/questions/1268397/how-to-find-all-the-types-in-an-assembly-that-inherit-from-a-specific-type-c-sha

Pozdrawiam
komentarz 23 kwietnia 2020 przez Munvik Dyskutant (9,350 p.)
Chodzi o to, że ktoś sobie zrobi .dll a mój główny program go sobie zimportuje? Możesz to rozwinąć?

Jeżeli tak, czy mogę zrobić połączenie tego w jsonie np

"otworz" : otworz.dll ?
1
komentarz 24 kwietnia 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)
Dokładnie o to mi chodzi.

Połączenie może być w jsonie, ale można to rozwiązać w kodzie bibliotek, gdzie klasy miałyby atrybut, który opisywałby nazwę polecenia. Jednakże rozwiązanie jsonem jest bardziej eleganckie.

Ciężko mi to rozwinąć, tak po prawdzie, gdyż większość problemów napotkasz, gdy zaczniesz pisać program. W razie pytań, wal śmiało, gdyż chętnie pomogę, jeżeli będę w stanie.

Pozdrawiam
komentarz 24 kwietnia 2020 przez Munvik Dyskutant (9,350 p.)
Jasne ale jak je połaczyć te biblioteki? Skompiluje i utworze .dll ale jak main.cs ma to połączyć bez zaglądania w niego?
1
komentarz 25 kwietnia 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)
Da się importować biblioteki dll, dynamicznie (nie przez using), tak jak jest to opisane w podanym wyżej linku. Podajesz ścieżkę do pliku dll, a ten jest wczytywany do zmiennej. Tam szukasz np.: klasy, która dziedziczy po tej z twojej biblioteki, a tam uruchamiasz odpowiednią metodę
komentarz 26 kwietnia 2020 przez Munvik Dyskutant (9,350 p.)
Woooo, dzieki, tego mi było trzeba

Podobne pytania

+3 głosów
4 odpowiedzi 283 wizyt
pytanie zadane 7 lipca 2024 w Sprzęt komputerowy przez Glutsa Nowicjusz (150 p.)
0 głosów
1 odpowiedź 377 wizyt
pytanie zadane 19 czerwca 2024 w Urządzenia mobilne przez MichaelM Bywalec (2,910 p.)
+1 głos
0 odpowiedzi 315 wizyt

93,327 zapytań

142,323 odpowiedzi

322,397 komentarzy

62,657 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...