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

Tworzenie biblioteki DLL

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
158 wizyt
pytanie zadane 28 lutego 2021 w C# przez Szabranigdo Obywatel (1,330 p.)
Dla rozbicia kodu tworzę bibliotekę dll zawierającą w metodzie typu int

pętle, switche, funkcje matematyczne itd. zwracając na końcu tej metody wartość zero (return 0;). Dodatkowo tworzę inne metody innych typów w tej samej klasie. Czy jest to dobre rozwiązanie? Czy może to powodować na jakimś etapie problemy z funkcjonowaniem programu?
komentarz 1 marca 2021 przez tkz Nałogowiec (41,960 p.)
W jaki sposób tworzenie dynamicznych bibliotek ma pomóc w rozbiciu kodu?

1 odpowiedź

+1 głos
odpowiedź 28 lutego 2021 przez gagyn Stary wyjadacz (10,950 p.)
wybrane 1 marca 2021 przez Szabranigdo
 
Najlepsza
Nie do końca rozumiem twoje pytanie. Czy chodzi Ci o tworzenie nowych projektów w ramach jednej solucji, z których potem powstają dll'ki? Czy jako zupełnie niezależne od siebie projekty/solucje? Nie wiem też, o jakiej skali projektu mówisz. Rozbijanie na projekty malutkiego programu nie ma większego sensu. Ale już przy programie który ma kilkadziesiąt klas warto się zastanowić nad rozbiciem na osobne projekty.

Druga rzecz, to dlaczego "zwracając wartość 0"? Nie lepiej po prostu nic nie zwrcać, czyli metoda typu void, skoro za każdym razem i tak będzie ta sama wartość?
komentarz 1 marca 2021 przez Szabranigdo Obywatel (1,330 p.)

@gagyn, To inaczej i krócej  Czy w c# można działać na bibliotekach tak jak na plikach nagłówkowych i źródłowych w c++ tj. struktura, obliczenia etc.  Z c# dopiero zaczynam i staram się znaleźć odpowiednik z c++. A z tym returnen faktycznie się zapędziłem ale to już wina braku kofeiny :)

komentarz 1 marca 2021 przez gagyn Stary wyjadacz (10,950 p.)

Może inaczej, powiem jak to wygląda w C#.

Kod dzielisz na klasy i foldery.

Kolejnym poziomem jest dzielenie na projekty (.csproj).

A wszystkie te projekty znajdują się w solucji (.sln).

 

W momencie kompilacji, każdy projekt jest kompilowany do dll'ki. Ale z poziomu kodu, korzystając z klasy/metody znajdującej się w innym projekcie niż aktualny (ale w tej samej solucji) dowiązania robisz na zasadzie samego using + podpięcie w projektu w referencjach. W praktyce wygląda to tak, że kiedy będziesz próbować się odwołać w kodzie do klasy w innym projekcie to VS sam zaproponuje podpięcie tamtego projektu.

Jeśli jednak masz jakiś kod, który chciałbyś używać w innych solucjach, to najlepiej jest utworzyć pakiet NuGet (Co to jest NuGet i co robi? | Microsoft Docs).

Ręczne kopiowanie .dll do innych solucji to tylko ostateczność, więcej przy tym roboty i "certolenia się".

komentarz 1 marca 2021 przez Szabranigdo Obywatel (1,330 p.)
Dziękuję za wskazanie kierunku.

Podobne pytania

0 głosów
2 odpowiedzi 383 wizyt
pytanie zadane 10 października 2015 w C i C++ przez hit02 Nałogowiec (33,970 p.)
0 głosów
1 odpowiedź 618 wizyt
0 głosów
1 odpowiedź 400 wizyt

90,871 zapytań

139,546 odpowiedzi

313,822 komentarzy

60,356 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...