Wie würden Sie als Best Practices alle Implementierungen implementieren, um Ausnahmen auf eine bestimmte Weise zu behandeln. zurück an den Benutzer zum Beispiel, sagen wir, ich die folgende Schnittstelle habenSo erzwingen Sie die Implementierung von abstract, um sich auf eine bestimmte Art zu verhalten
public interface IApplicationProvider<TData> : IDisposable{
TData Get(string appName);
}
public abstract ApplicationProviderBase<MyDTO> {
public abstract MyDTO Get(string appName);
}
public class SomeApplicationProvider: ApplicationProviderBase {
public MyDTO Get(string appName){
...
if (somecondition == somecondition)
throw new InvalidOperation("Application could not be fetched due to a custom error");
}
}
In der Benutzeroberfläche wird es alle „InvalidOperations“ handhaben und die Nachricht angezeigt werden soll. Ein anderer Ansatz wäre jedoch, ein benutzerdefiniertes Objekt zu erstellen, das die Daten und alle Fehlermeldungen umschließt.
Edit: Grundsätzlich möchte ich einen Weg für alle Anbieter einen Grund, warum die Operation fehlgeschlagen.
Ich habe diesen Ansatz implementiert und danke für den Blogbeitrag. –