c# - 如何确保在子类中定义静态成员
问题描述
我有从抽象类继承的类FlowData
。FlowData
实现一个接口IFlow
我的问题是,我有一个工厂类,它解析文件并返回IFlow
类型对象列表,具体取决于IFlow
可以从文件中创建的对象类型。我有两种不同的类继承自FlowData
,我想确保每个对象都包含一个属性的静态定义FlowType
。可以添加许多其他继承自的类FlowData
工厂逻辑如下
- 在文件中查找以 FlowType 关键字开头的行
- 遍历
IFlowData
类库中FlowTypes
命名空间中的类 - 如果
FlowDataClass.FlowType ==FlowTypeKeyWord
创建IFlowData
类的对象
这个逻辑依赖于每个继承自的类FlowData
来包含它自己的唯一定义FlowType
。接口不支持静态成员,我不能覆盖子类中的静态成员。是否有一种干净的方法来确保每个子类
- 包含属性
Flowtype
- 可以为它实现一个唯一的值。
目前,我通过定义一个接口IFlowType
并在我的继承自FlowData
. 我的工厂类创建一个FlowDataClass
对象并检查它的FlowType
. 我只是想知道是否有办法在不实例化FlowDataClass
对象的情况下做到这一点谢谢
解决方案
推荐阅读
- django - 获取有条件的数据
- react-native - tabBarOnPress 不工作 bottomTabNAvigator
- c# - 使用 C# 程序比较两列中的值以更新数据库中的第三列
- c# - 在 C# 中更新对象属性,将属性作为参数传递?
- c++ - 在 libtorch 中使用 forward 的非法指令(核心转储)
- angular - IONIC 4 离子菜单未显示在离子菜单按钮单击上
- java - 部署 jar 文件时出现问题:错误依赖项
- java - Azure Functions with java - 如何获取函数中写入的日志?
- phaser-framework - 无法向场景添加补间
- docker - 在 TensorFlow 基础映像(1.13.2-gpu-py3)上安装 pip 包不起作用