首页 > 解决方案 > 如何确保在子类中定义静态成员

问题描述

我有从抽象类继承的类FlowDataFlowData实现一个接口IFlow

我的问题是,我有一个工厂类,它解析文件并返回IFlow类型对象列表,具体取决于IFlow可以从文件中创建的对象类型。我有两种不同的类继承自FlowData,我想确保每个对象都包含一个属性的静态定义FlowType。可以添加许多其他继承自的类FlowData

工厂逻辑如下

  1. 在文件中查找以 FlowType 关键字开头的行
  2. 遍历IFlowData类库中FlowTypes命名空间中的类
  3. 如果FlowDataClass.FlowType ==FlowTypeKeyWord创建IFlowData类的对象

这个逻辑依赖于每个继承自的类FlowData来包含它自己的唯一定义FlowType。接口不支持静态成员,我不能覆盖子类中的静态成员。是否有一种干净的方法来确保每个子类

  1. 包含属性Flowtype
  2. 可以为它实现一个唯一的值。

目前,我通过定义一个接口IFlowType并在我的继承自FlowData. 我的工厂类创建一个FlowDataClass对象并检查它的FlowType. 我只是想知道是否有办法在不实例化FlowDataClass对象的情况下做到这一点谢谢

标签: c#interface

解决方案


推荐阅读