• 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

Konferencja JOIN! 2018
0 głosów
62 wizyt
pytanie zadane 12 października w C# i .NET przez Krzysiek Kowalczyk Początkujący (260 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 przez Milesq Dyskutant (9,710 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 przez Krzysiek Kowalczyk Początkujący (260 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 przez garris Użytkownik (570 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ź 53 wizyt
pytanie zadane 14 sierpnia w C# i .NET przez KacperStachula Nowicjusz (190 p.)
0 głosów
1 odpowiedź 116 wizyt
0 głosów
4 odpowiedzi 466 wizyt
pytanie zadane 8 kwietnia 2016 w C# i .NET przez Placidus Początkujący (480 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

55,269 zapytań

99,579 odpowiedzi

204,900 komentarzy

27,239 pasjonatów

Przeglądających: 162
Pasjonatów: 1 Gości: 161

Motyw:

Akcja Pajacyk

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

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

...