替换静态类以打包方法和变量

阿米尔·辛纳·马谢赫

我正在创建一个包含许多“测试”的应用程序。每个测试都有一个名称,描述和一些要运行的代码。

我想要一个要显示在ListBox中的测试名称列表(ObservableCollection)。当用户单击测试时,说明应出现在文本框中,并且当用户单击开始按钮时,相关的方法应开始。

我决定将每个测试放入带有“名称”和“描述”属性以及“测试”方法的静态类中。但是列出这些类很困难(尝试使用,Assembly.GetTypes()但有点困难)。同样,手动创建方法或类的列表也不是一个好方法。我认为应该有一个更好的方法来实现我的目标。

有谁有更好的主意吗?

纳奇潘·库玛拉潘

为什么您决定将这些类设为静态?您可以将它们作为普通的普通班。

您可能有一个接口,例如ITestable

public interface ITestable
{
    string Name {get;set;}
    string Description {get;set;}
    Task Test();
}
  1. 现在,您可以搜索使用反射实现接口的类。
  2. 从类列表中,您可以过滤非抽象的类
  3. 然后您仍然可以过滤并获取没有参数构造函数的类

现在使用反射,您可以实例化类以获取对象

var testable = (ITestable) Activator.CreateInstance(filteredClassType);

我希望这可以帮助你。如果不能随意澄清,我在项目中所做的完全相同。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章