我正在创建一组名为*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
}
}
这样我就可以创建一个IActivity
的列表/数组并运行他们的StartActivity()
方法。
现在我要做的是为每个继承自IActivity
的类创建一个UserControl(用于以图形方式编辑任何变量并以图形方式订购活动)。
这样做的最佳方式是什么?
我的想法是:
IActivity
的UserControl。问题在于我可能不希望在程序的其他部分使用UserControl元素,只使用每个执行的操作,并且使用UserControl,这肯定会在不需要时使用更多资源... 有什么想法吗?
修改
我们的想法是每个Activity都有一些可以编辑的属性,每个属性执行一个独特的动作,该动作在调用StartActivity
时执行。
可以通过创建活动实例并添加到列表中来执行活动。循环遍历列表以按顺序执行每个StartActivity
。
或者在表单上,每个活动的UserControls可以创建并将表单拖动到用户所需的顺序(在幕后填充列表),然后单击“开始”按钮(循环列表调用每个{{1}反过来。
这将使用WinForms。
答案 0 :(得分:0)
你应该按照你的第一个想法去做。将* Activity作为特定* UserContorl的属性(只读),并通过UC构造函数实例化它。然后,您可以通过UC直观地设置活动的属性。