0

我正在创建一组名为的类*Activity,它们都从接口继承,IActivity例如

  public interface IActivity
  {
    void StartActivity();
  }

  public class MyFirstActivity : IActivity
  {
    public int SomeVariable {get; set;}

    public MyFirstActivity(int someVariable)
    {
      SomeVariable = someVariable
    }

    public void StartActivity()
    {
      //some code to do stuff with SomeVariable
    }
  }

这样我就可以创建一个IActivitys 的列表/数组并运行它们的StartActivity()方法。

现在我想做的是为每个继承自IActivity.

做这个的最好方式是什么?

我的想法是:

  1. 为每个 Activity 创建一个单独的 UserControl,然后在 UserControl 的构造函数中创建一个 Activity 的实例......或者......
  2. 使每个活动成为继承自IActivity. 问题在于我可能不想在程序的其他部分使用 UserControl 元素,只使用每个执行的操作并为此使用 UserControl 肯定会在不需要时使用更多资源......

有什么想法吗?

编辑: 这个想法是每个活动都有一些可以编辑的属性,并且每个活动都执行一个不同的操作,该操作在StartActivity调用时执行。活动可以通过创建活动实例并添加到列表来在代码中执行。循环遍历列表以StartActivity按顺序执行每个。或者,在表单上,​​每个活动的用户控件可以由用户创建并拖动到表单周围以达到所需的顺序(在幕后填充列表),然后单击“开始”按钮(StartActivity依次循环调用每个活动的列表。

这将使用 WinForms。

4

1 回答 1

0

你应该带着你的第一个想法去。将*Activity作为具体*UserContorl的Property(read-only),通过UC构造函数实例化。然后您可以通过 UC 直观地设置 Activity 的属性。

于 2012-07-13T11:18:18.337 回答