我有一个抽象类:
abstract class AbstractDataExport
{
public string name;
public abstract bool ExportData();
}
我有一些派生自AbstractDataExport的类:
class XmlExport : AbstractDataExport
{
new public string name = "XmlExporter";
public override bool ExportData()
{
...
}
}
class CsvExport : AbstractDataExport
{
new public string name = "CsvExporter";
public override bool ExportData()
{
...
}
}
有可能做这样的事情吗?(伪代码:)
foreach (Implementation imp in Reflection.GetInheritedClasses(AbstractDataExport)
{
AbstractDataExport derivedClass = Implementation.CallConstructor();
Console.WriteLine(derivedClass.name)
}
输出像
CsvExporter
XmlExporter
?
这背后的想法是只创建一个从AbstractDataExport派生的新类,这样我就可以自动迭代所有实现,并将名称添加到Dropdown-List中。我只想编写派生类,而不更改项目中的其他任何内容,重新编译,宾果游戏!
如果您有其他解决方案:请告诉em。
谢谢
喵喵时光机
拉风的咖菲猫
杨魅力
相关分类