【发布时间】:2016-08-02 11:51:23
【问题描述】:
我有抽象类 BaseClass 和 MyClassA 和 MyClassB 实现。用户可以扩展这两个子类或使用它们,例如他只创建UserExtensionClassA 并按原样使用MyClassB。有一个类ClassC 负责类的初始化。它接收配置(例如,包含所需实现类的完整类名)并决定何时以及是否初始化这些类(例如,已经有 3 个现有的 BaseClass 实现实例 => 拒绝创建请求)。
问题:如何避免示例中的反射? ClassC 可以根据配置中的名称创建类。但我仍然可以更改库实现中的几乎所有内容,而且我不喜欢反射的东西。
【问题讨论】:
-
这令人困惑,请发布一些代码以澄清情况。此外,反射似乎不是那么糟糕的解决方案......
-
请发布您尝试过的内容?很有帮助。
-
为什么不写代码而不是写“我有抽象类BaseClass 和MyClassA 和MyClassB 实现”?目前尚不清楚为什么以及如何使用反射(配置是字典?),你能展示一下吗?以及想要的伪代码。但总的来说,像 “我不喜欢反射的东西” 这样的理由并不合理。您阅读配置一次还是 1234567 次?您是否遇到性能/内存问题?
标签: c# oop c#-4.0 design-patterns