我正在創建一個程序,用戶創建自定義命令並在需要時執行它們。結果我有一個類似於:在輔助存儲器上保存動作或funcs
public class Command
{
Action c { get; set; }
// Overloaded Constructors------------------------------------
// changes the volume
public Command(int volumeChange)
{
c =()=>
SomeClass.ChangeMasterVolume(volumeChange);
}
// Animate something
public Command(int x, int y)
{
c =()=>
SomeClass.MoveMouse(x,y);
}
// etc.. there are more contructors....
//---------------------------------------------------------
public void ExecuteCommand()
{
c();
}
}
當用戶關閉應用程序時,我想將這些命令保存在磁盤上的某個位置。大約有200個不同的命令,如果我可以從該類中序列化一個實例,那將會很好。由於它包含一個Action,所以不可能序列化它。
這將是很好,如果我不必創建一個巨大的開關語句,以確定要執行的命令。處理這個問題的最好方法是什麼?