Mam wiele wywołań metod w bibliotece innej firmy. Metody te mają wiele różnych kombinacji sygnatur i parametrów.Zawijanie wielu wywołań metod (każdy ma inne sygnatury) w jednym module obsługi
Istnieją specyficzne błędy, które generuje biblioteka stron trzecich, które chciałbym przechwycić i obsłużyć, a ponieważ rozdzielczość jest taka sama, chciałbym, aby miało to miejsce w pojedynczym module obsługi.
Tak więc chcę mieć metodę, która zasadniczo przyjmuje jako parametry funkcję (delegata) i jej argumenty, i wywołuje ją wewnątrz pewnej logiki try/catch.
Nie wiem, czy to po prostu niemożliwe, czy też nie otrzymuję prawidłowej składni, ale nie mogę wymyślić, jak sobie poradzić z tym, że podpis dla każdej przekazywanej metody jest inny.
Wszelkie sugestie?
podziękowania. Skąd pochodzi WrappedObject - czy jest to instancja klasy trzeciej? Mam trochę komplikacji w tym, że klasa 3rd party jest klasą statyczną, ale przypuszczam, że mogę utworzyć klasę niestatyczną, aby ją wyprzedzić i odsłonić metody w ten sposób. – bkr
@bkr Zakładano, że twoim "opakowaniem" było zawijanie instancji obiektu. Bez tego jest to naprawdę łatwiejsze - będę edytować i wyświetlać –
@bkr Edytowane, aby wyświetlić zamiast tego korzystanie ze statystyk. –