Definicja metody poza klasą w c#

0

Witam, moje pytanie odnosi się do samej definicji metody nie jej deklaracji. Mianowicie w c++ nagminnie pisałem w stylu deklarowania metody w klasie a samą jej definicje umieszczałem poza klasą żeby nie robił mi się "bałagan", coś w tym stylu.

class list
{
private :
    element *first;
public:
    list():first(NULL){}
    ~list();
    void add_on_start(double war);
    void add_on_end(double war);
    void add_sort(double war);
    void delete_first();
    void delete_tail();
    void delete_value(double war);
    void delete_position(int i);
    void show_list();
};
 

a już samą definicję pisałem za pomocą operatora zakresu (czy takie coś istnieje w c#) poza klasą

void list :: add_on_start(double war)
{
    //ciało metody.
}
 

I tu moje pytanie czy podobnie da się postępować w c#, ewentualnie jak wy radzicie sobie z bałaganem w klasie.

Pozdrawiam Maniek.

1

korzystaj z regionów. W c# nie ma takiej możliwości.

4

ogólnie jeśli klasa jest tak duża że się w niej gubisz to coś robisz nie tak i masz słaby projekt

ale w c# jest coś takiego jak partial class co pozwala na zdefiniowanie klasy w kilku miejscach. Tylko że rozbicie klasy na kilka plików moim zdaniem wprowadza więcej zamętu niż porządku. Postaraj się logicznie porozdzielać klasę na kilka mniejszych o pojedynczej odpowiedzialności

0

Mam dla Ciebie super rozwiązanie!
Pisz przez tydzień szablony.
Same szablony.

Do dependency injection dołóż cukierkowo mówiąc concept based type injection, do tego template method dla compile-time polymorphism.

Przestrojenie w trybie natychmiastowym.

0

Method extension, ale to tez nie jest to czego szukasz.
Polecam użyć partiali. Uzywalem Tez kiedys dodatku do Visual Studio o nazwie VS Commands możesz za pomocą tego pogrupować pliki z partialami w formie drzewa. Np plik z konstruktorem jako główny node, reszta plików metodami jako dzieci

1

Partiale są po to, aby dodać własny kod do klas wygenerowanych przez różnego rodzaju designery. Designer przy każdej zmianie nadpisuje swój plik ze swoją częścią klasy, a dzięki temu, że Twój kod siedzi w oddzielnym pliku, jest bezpieczny. To jest jedyne sensowne zastosowanie partial classes.

Jeśli faktycznie piszesz jakąś klasę, której nie da się za bardzo podzielić, to użyj regionów.

0

w C++ oddzielone deklaracje są potrzebne by rozwiązać problem wzajemnych zależności klas.

w C# ten problem nie występuje. dlatego też nie ma czegoś takiego jak deklaracja klasy jak w C++.
czasami mi tego brakuje, ale jak nie ma to nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1