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

Dzielenie kodu na kilka plików źródłowych

Object Storage Arubacloud
0 głosów
2,088 wizyt
pytanie zadane 12 października 2018 w C# przez Krzysiek Kowalczyk Początkujący (360 p.)

Witam. 

Czytałem, że w sytuacji gdy program jest duży i mało czytelny to lepiej aby każda klasa była w oddzielnym pliku. I teraz pytanie: Jak odwoływać się do tych plików? Czy poprawnym będzie podobne zadeklarowanie jak w C++ (http://cpp0x.pl/kursy/Kurs-C++/Dzielenie-kodu-na-kilka-plikow-zrodlowych/310) przez np "using MojaKlasa"?

W internecie podają informacje jak przy użyciu Visual Studio "wyklikać" klasę i odwołać ją do pliku. A ja chcę wiedzieć jak wygląda sprawa od czysto kodowej strony (niestety nie mam Visual Studio Community a MonoDevelop - taki kompromis bycia użytkownikiem linuxa)

1 odpowiedź

0 głosów
odpowiedź 12 października 2018 przez Milesq Nałogowiec (32,020 p.)

1) pokaż kod

2) kiedy includujesz 'plik1' do 'plik' to żeby odwołać się do klasy, albo po prostu to robisz, albo używasz operator zakres::element

np.(nazwy polskie tylko dla przykladu, proszę używaj angielskich ;) )

main.cpp

#include "plik1.hpp"
int main ()
{
    klasa foo;
    przestrzenNazw::klasaWPrzestrzeni bar;
    return 0;
}
#ifndef plik1
#define plik1
//zabezpieczenie przed wielokrotnym dodawaniem tego samego pliku
class klasa {
   int numer;
   int numer2;
};

namespace przestrzenNazw {
    class  klasaWPrzestrzeni {
        int numer;
        int numer2;
    }
}

#endif

ewewntualnie żeby za każdym razem nie pisać 

przestrzenNazw::klasaWPrzestrzeni

możesz użyć na początku main.cpp

using namespace przestrzenNazw;
lub
using przestrzenNazw::klasaWPrzestrzeni;
komentarz 12 października 2018 przez Krzysiek Kowalczyk Początkujący (360 p.)
Nie mam tak dużego kodu (narazie). Chcę się tylko dowiedzieć jak można wywołać metodę z oddzielnego pliku C# w głównym projekcie (przy użyciu kodu). Informacje do jakich się dokopałem opisują jak w Visual Studio utworzyć zewnętrzną klasę widoczną dla Project Exporera.
komentarz 12 października 2018 przez garris Użytkownik (660 p.)

To musisz powiedzieć o co Ci dokładnie chodzi, pokaże Ci jak ja robię w takich sytuacjach.

Settings.cs

using System;

namespace Test
{
	class Settings{
		private static readonly string _foo= "google.pl";
        private static readonly string _protocol = "http";
        public static string Foo => _protocol + "://" + _foo;
}
}

navigateClass.cs

(jakieś przykładowe użycie)

namespace Test
{
    class navigateClass
    {
        void doSth()
        {
            session.NavigateTo<Page>(Settings.Foo);
        }
    }
}

Może na przykładzie będzie Ci łatwiej zrozumieć. Jak widzisz jeżeli klasy są w tym samym namespace i zmienne są publiczne to z dostaniem się do nich nie ma problemu, using używasz gdy masz klasy w różnym namespace. A jeżeli chodzi Ci o coś innego to musisz sprecyzować.

Podobne pytania

0 głosów
1 odpowiedź 250 wizyt
0 głosów
1 odpowiedź 421 wizyt
0 głosów
1 odpowiedź 331 wizyt
pytanie zadane 14 sierpnia 2018 w C# przez KacperStachula Nowicjusz (190 p.)

92,550 zapytań

141,393 odpowiedzi

319,520 komentarzy

61,935 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...