如何指定接口的实现者抛出的异常?

gou*_*dos 15 c# dependency-injection interface exception strategy-pattern

我目前正在开发一个解决方案,并以一种强有力地实现策略/提供者模式的方式进行设计.因此,该解决方案公开了许多接口并包含这些接口的默认实现,这些接口可以通过DI类型方法替换.

在主机应用程序使用许多这些接口的情况下,它期望处理可能发生的某些异常,例如IDataRetriever接口具有方法SomeDataType GetData(int timeout);并且主机可以处理一些自定义异常,例如DataRetrievalTimeoutExceptionNetworkConnectionException.

我的问题是,标记接口类的最佳方法是什么,当开发人员实现它时,他们会知道应该抛出某些异常并由主机处理?

目前我刚刚将xml标签添加到方法xml注释中 - 这是否足够?

Jon*_*eet 12

XML标签(以及您想要编写的任何其他文档)基本上是您目前在"vanilla".NET中最接近的.

您可能希望查看代码约定,它允许您使用合同注释您的接口,其中包括异常,前置条件等.