Tak więc stworzyłem dostawcę (kilka z nich faktycznie) i zdaję sobie sprawę, że w niektórych logikach jest pewien wzorzec. Jest on powtarzany i liczyć mogę usunąć wiele linii kodu, czy mogę po prostu stworzyć tę metodę rozszerzenia: DStatyczna metoda postępowania z zerowymi zwrotami
Tak, w zasadzie to, co się dzieje, jest coś takiego:
// Get our item to be deleted
var model = await this._service.GetAsync(id);
// If we have nothing, throw an error
if (model == null)
throw new HttpException(404, string.Format(Resources.GenericNotFound, "List item"));
Teraz zrób to w wielu miejscach, nie tylko do usuwania, ale do aktualizacji. Chciałbym utworzyć metodę rozszerzenia, które pozwala mi zrobić coś takiego:
// Get our item to be deleted
var model = await this._service.GetAsync(id).ThowIfNull("List item");
ja też potrzebuję tego do pracy z każdym rodzajem powrotnej. Tak więc w tym przypadku może to być konto konto, ale będzie dostawca, który również ma ten kod zwracając Zamówienie, ale potrzebuję metody rozszerzenia do pracy dla obu.
Myślę, że wyzwaniem jest bit asynchroniczny, ale mogę się mylić!
Ktoś wie, czy to możliwe?
Well jedną z możliwości jest '(czekają this._wervice.GetAsync (id)).ThrowIfNull ("Element listy"); 'jeśli chcesz zastosować metodę rozszerzenia na jakimkolwiek' modelu' (a może nawet na 'obiekcie') zamiast' Zadanie ' –
juharr
Czy możesz to napisać jako przykład? – r3plica