Czy można podzielić metodę na dwa pliki w języku C#? Wiem, że istnieją częściowe metody, ale najwyraźniej nie mogą tego zrobić.Podział metody na dwa pliki w języku C#
Oto scenariusz. Używam biblioteki o otwartym kodzie źródłowym i muszę dodać kilka dostosowań w jednym lub kilku plikach. Na przykład chcę dodać dwa nowe pola do klasy Employee
, a następnie zainicjować je w metodzie InitializeFields()
tej klasy. Ponieważ projekt open-source wciąż ewoluuje, a nowe wersje są co jakiś czas wypuszczane, chcę, aby moje dostosowania były oddzielne od oryginalnego projektu, aby łatwo było uaktualnić je do nowszych wersji biblioteki.
już podzielone wszystkich wymaganych klas w Orig.cs
i Custom.cs
użyciu partial class
składni i dodałem moje pól niestandardowych w Custom.cs
. Problem polega na tym, że nie mam możliwości podziału metody InitializeFields()
, więc mój kod niestandardowy przechodzi do pliku Custom.cs
.
Należy pamiętać, że nie mogę użyć dziedziczenia w celu rozwiązania problemu. Biblioteka o otwartym kodzie źródłowym zawierałaby wiele odniesień do klasy pracownika i nie mogę pozwolić sobie na ich zmianę.
Ogólnie rzecz biorąc, nie jest to * obsługiwany sposób rozszerzania istniejącego kodu. Czy rozważałeś dziedziczenie z klasy "Pracownik" i dodawanie własnych pól? W ten sposób możesz przesłonić 'InitializeFields()', zainicjować własne pola, a następnie wywołać 'base.InitializeFields()'. –
Przykro mi, dlaczego nie możesz korzystać z dziedziczenia? bo czy jest dużo do zmian? czy znaleźć i wymienić rozwiązać to? –
_would zawierać liczne odniesienia do klasy Employee i nie mogę sobie pozwolić na zmianę ich wszystkich_ - spójrz na __Refactor, Zmień nazwę__ –