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

Tworzenie biblioteki DLL

VPS Starter Arubacloud
0 głosów
288 wizyt
pytanie zadane 28 lutego 2021 w C# przez Szabranigdo Obywatel (1,370 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 (42,000 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 (11,050 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,370 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 (11,050 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,370 p.)
Dziękuję za wskazanie kierunku.

Podobne pytania

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

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,853 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...