私は自分のプロジェクトにユーザーコントロールのセットを作りました。しかし、私はそれが本当に醜く見えることなく、特定の部分を行う方法については不明です。同じ方法でカスタムメソッドを呼び出すこともできます。
すべてのコントロールは、異なるコントロールタイプ(パネル、テキストボックス、コンボボックスなど)から拡張されていますが、いくつかの全く同じメソッドがあります。
public void SendMyMessage(Control thisControl)
{
if(thisControl is myPanel) (thisControl as myPanel).SendMessage();
else if(thisControl is myComboBox) (thisControl as myComboBox).SendMessage();
else if(thisControl is myTextbox) (thisControl as myTextbox).SendMessage();
else if(thisControl is myLabel) (thisControl as myLabel).SendMessage();
}
をむしろ私は1行でそれを呼び出す聞かせもっと簡単な方法があります:私がやりたい何
はこれを避けるためです。 (私が呼び出すSendMessage()関数は、異なるコントロールで異なることを行うが、引数は必要なく、同じ方法と呼ばれる)。
だから、一つだけのチェックを持つことができますか?私は 'is' + 'cast'をやるか、単に 'as'をしてからnullをチェックします。 –
コスこの最適化は元の質問には関係ありません;) – Restuta
すべての方法は私に乱雑に見えます。私はそれらのすべてを平等に嫌い、is-asで修理する。 – Corylulu