Einfache Frage: Gibt es Richtlinien, die entweder von Microsoft selbst veröffentlicht wurden oder eine gängige Praxis in Bezug auf die Deklaration von Aufgaben für Typ- und Schnittstellenverträge sind?Aufgaben zu Typ-/Schnittstellenverträgen - Richtlinien?
Bisher habe ich viele verschiedene Ansätze gesehen:
Synchrone und asynchrone TAP mit (die meisten .NET-Typen):
void DoSomething();
Task DoSomethingAsync();
TAP nur:
Task DoSomething(); // notice, no 'Async' member naming
Split Verträge :
interface IDoSomething {
}
interface IDoSomethingSync : IDoSomething {
void DoSomething();
}
interface IDoSomethingAsync: IDoSomething {
Task DoSomething();
}
... oder schließlich, einfach einen Vertrag ohne irgendwelche Aufgaben zu machen und es dem Verbraucher zu überlassen.
Gibt es eine offizielle Möglichkeit, dies zu deklarieren? Für eine Weile habe ich mich an das erste Beispiel gehalten, da es das gebräuchlichste im .NET-Framework ist, aber selbst dort ist es aus alten Gründen manchmal nicht konsistent.
Eine solche Frage ist off-topic entweder als Suche nach Offsite-Ressourcen oder auf meinungsbezogenen Informationen. Es wird auch schon oft gefragt - ich denke, Duplikate sind gut genug, Grund zu schließen, aber zögern Sie nicht zu kommentieren, warum Frage sollte von selbst geschlossen werden. –
@AlexeiLevenkov Ich habe eine Suche vor dem Posten der Frage, aber nichts nützliches kam auf. Außerdem sollte dies nicht optionsbasiert sein, da ich ausdrücklich nach einer Richtlinie (vorzugsweise von Microsoft selbst) frage, also gibt es entweder eine, die ich nicht finden konnte oder keine. Ich glaube nicht, dass die Frage, die Sie verlinkt/markiert haben, ein Duplikat ist, weil das OP dort nach Namenskonventionen fragt, nicht nach allgemeinen Richtlinien für das Interface-Design. – artganify
artganify behauptet, dass diese Frage Suche nach Anleitung und nicht Duplikat von http://stackoverflow.com/questions/24766651/interface-naming-convention-for-method-returning-task - wieder geöffnet (wahrscheinlich nicht für lange). –