入力されたフォームの浅いコピーを作成したいので、ユーザーがチェックボックスを選択して保存ボタンの代わりに閉じるを押すと、「スケジュールフォーム」を空である浅いコピーフォーム「scheduleform2」のチェックボックスに置き換えます。しかし、問題は、変更が「scheduleform」で行われ、何らかの形で「scheduleform2」に表示され、そのため同じフォームデータになってしまうことです。たとえば、「scheduleform」でチェックボックスがオンになっている場合、シャローコピーにしても「scheduleform2」に変更が表示されます。
DefaultScheduleForm scheduleForm2 = new DefaultScheduleForm();
public DefaultScheduleForm ShallowCopy()
{
return (DefaultScheduleForm)this.MemberwiseClone();
}
scheduleForm2 = scheduleForm.ShallowCopy();
scheduleForm = scheduleForm2;