的所有继承类我有一个抽象类:获取一个抽象类
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得出这样我就可以通过全部实现自动循环和名称添加到例如下拉框中列出一个新的类。 我只想编写派生类而不更改项目中的任何其他内容,重新编译,宾果!
如果您有其他解决方案:告诉em。
感谢
一个类型可以同时不抽象和非类吗? – user2341923 2014-09-11 19:14:31
这绝对是疯了!我不知道你可以用反射来做这样的事情。 – CanadaIT 2016-02-23 05:01:23
@ user2341923一个枚举? – Cesar 2016-10-23 10:32:31