我有一个界面
interface IFooWidget
{
IWidget Get(string widgetName);
}
我的问题是 - 我如何告诉实现者错误情况的返回语义?我的意思是如果他们找不到请求的小部件,他们应该抛出或返回一个空值。这似乎是接口定义的重要部分,但我无法表达。
似乎记录它是唯一的方法 - 如果我能以某种方式将它放在编译器语言而不是人类语言中会更好。
只是想知道是否有人有任何解决方案或想法......
共识答案:
接口定义语法而不是语义。我让自己被我的方法定义的英语所吸引。想象一下,如果它是
IWidget Fnargle(string wobbler);
这当然是编译器的样子。最初的问题中暗示了调用语义,因为我选择了一个据称有用的方法名称和参数。但实际上我需要记录该方法语义的所有方面——这是不可避免的