ここのオブジェクトは、UIを更新することです。私は通常クライアントでこれを行いますが、このアプリケーションではコードを使用しています。とにかく私の質問は、これらのifステートメントをクリーンアップしようとしていると私は戦略パターンが適切かもしれないと思ったです。私はすべてのことを私のためにする必要はありませんが、もしあなたが私に行くためのカップルのポインタを与えることができます。最初にインターフェースを作成してから、各戦略でインターフェースを実装しますか?ジェネリックはここで役に立つの?インターフェイスにはどのようなメソッドが必要ですか?私を連れて行くために何かが非常に感謝されるでしょう。リファクタリングヘルプ - 戦略パターン
if (someObject.Status == 'A') {
btnRecordCall.Enabled = false;
btnAddMailOrStatusAction.Enabled = false;
btnPayments.Enabled = false;
btnAddressMaint.Enabled = false;
btnFilter.Enabled = false;
btnAddCoverage.Enabled = false;
btnPolicyForms.Enabled = false;
lblIsArchived.Text = "********** THIS CLAIM HAS BEEN ARCHIVED **********";
} else if (someObject.Status == 'D') {
btnRecordCall.Enabled = false;
btnAddMailOrStatusAction.Enabled = false;
btnPayments.Enabled = false;
btnAddressMaint.Enabled = false;
btnFilter.Enabled = false;
btnAddCoverage.Enabled = false;
btnPolicyForms.Enabled = false;
lblIsArchived.Text = "- De-archive Request Pending";
} else {
btnRecordCall.Enabled = true;
btnAddMailOrStatusAction.Enabled = true;
btnPayments.Enabled = true;
btnAddressMaint.Enabled = true;
btnFilter.Enabled = true;
btnAddCoverage.Enabled = true;
btnPolicyForms.Enabled = true;
lblIsArchived.Text = "";
}
おかげで、すべての〜CK
ありがとうスタン。実装のexecuteメソッドでは、どのようにページコントロールへの参照を取得しますか?私はページへの参照を渡し、findcontrol( 'someId')をしますか?それとも良い方法がありますか? – Hcabnettek
はい、ページ自体に参照を渡してから、前と同じことを行うことができます。つまり、page.lblIsArchived.Text = "";ページへの参照をコンストラクタまたはExecuteメソッドで渡すことができます。それはあなた次第です。 –