Rob*_*vey 4 c# implementation interface
我有一个名为的接口IStructuredReader,它从文件中读取一些结构化数据并将其显示在表单中.它有一个名为的成员Sync(),在实现时,扫描数据以获取用户指定的数据模式.
某些实现IStructuredReader没有同步功能.那些实现抛出NotImplementedException了该Sync()方法.我希望能够检查这个方法是否正在实现,这样我就可以调整表单上的按钮,如果不是的话.
我可以想到一些可以做到这一点的方法,所有这些方法看起来都很笨拙和复杂:
将Sync方法分离到自己的接口,为那些支持该功能的实现继承它,并尝试将reader对象强制转换为它以识别该功能,
写一个NotImplementedAttribute,用它装饰成员,并使用Reflection检查属性的存在,
HasSyncCapability向接口添加布尔属性.
有没有规范的方法呢?
这听起来像你真的应该有两个接口.您的Sync()方法显然是在您的基本界面上添加功能,这表明这实际上是一个单独的问题,因为它不是必需的IStructuredReader.我建议为支持它的类型添加第二个接口,然后在视图层中很容易检查.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |