私のコードでわかるように、メソッドをオブジェクトに保持 (設定) したいのです。そして、そのオブジェクトでメソッドを呼び出します...
コードを見てください。簡単に理解できます。平易な英語で説明するのは難しい...
私の質問は; もちろん、「アクション操作」オブジェクトは、呼び出されるメソッドを保持できません。
では、どうすればこの問題を解決できますか? 私に何ができる?
...
enum CampaignUserChoice
{
Insert,
Update,
Delete,
Disable
}
private void AskUserAboutCampaignOperation(CampaignUserChoice choice)
{
string questionForUser = string.Empty;
string questionTitleForUser = string.Empty;
Action operation; //<<<<--------------------- this line, it's method holder
if (choice == CampaignUserChoice.Insert)
{
questionForUser = "Do you want to create a new campaign?";
questionTitleForUser = "NEW CAMPAIGN";
operation = InsertCampaign(TakeDatasFromGui()); //<---------- set which method you want to call
}
else
{
operation = UpdateCampaign( campaignId, TakeDatasFromGui());
}
//TODO write other elses...
switch (MessageBox.Show(questionForUser, questionTitleForUser, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
{
case DialogResult.Yes:
operation; //<<<------------------ call method here...
break;
case DialogResult.No:
// "No" processing
break;
case DialogResult.Cancel:
// "Cancel" processing
break;
}
}
すべての回答をありがとうございました...