• 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

VPS Starter Arubacloud
0 głosów
2,057 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ź 246 wizyt
0 głosów
1 odpowiedź 420 wizyt
0 głosów
1 odpowiedź 323 wizyt
pytanie zadane 14 sierpnia 2018 w C# przez KacperStachula Nowicjusz (190 p.)

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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!

...