私はインターフェースを持っています
interface IFooWidget
{
IWidget Get(string widgetName);
}
私の質問は、エラーの場合の戻りセマンティクスを実装者に伝えるにはどうすればよいですか? つまり、要求されたウィジェットが見つからない場合、null 値をスローまたは返す必要があります。これはインターフェイス定義の重要な部分のようですが、私には表現できません。
それを文書化することが唯一の方法であるように思われます-人間が話すのではなく、コンパイラーが話すように何らかの方法でそれを入れることができれば、はるかに良いでしょう。
誰かが解決策や考えを持っているかどうか疑問に思っています...
コンセンサス回答:
インターフェイスはセマンティクスではなく構文を定義します。私は自分のメソッド定義の英語性に魅了されていました。それが代わりだったら想像してみてください
IWidget Fnargle(string wobbler);
もちろん、これはコンパイラにどのように見えるかです。呼び出しのセマンティクスは、元の質問で示唆されていました。これは、役立つと思われるメソッド名とパラメーターを選択したためです。しかし、実際には、メソッドのセマンティクスのすべての側面を文書化する必要があります-避けられません