2017-11-07 3 views
0

私のコードには、アプリケーションの他の領域で再利用されるコードブロックをコピー/ペーストするいくつかのインスタンスがあります。私はC#には比較的新しいですし、再利用のためにより便利で安全な方法でこの情報をパッケージ化する方法が不明です。どのようにしてこのブロックをある種の関数/クラスに割り当てることができるので、私はこの一連のコマンドを実行するために関数/クラス名を呼び出すだけです。プログラム全体で再利用される一連のコマンドをパッケージ化する最も良い方法は?

//Clear all form entries. 
comboBoxAccount.ResetText(); 
comboBoxAccount.SelectedIndex = -1; 
textBoxAccountName.Clear(); 
comboBoxPrinter.ResetText(); 
comboBoxPrinter.SelectedIndex = -1; 
comboBoxCheckType.ResetText(); 
comboBoxCheckType.SelectedIndex = -1; 
textBoxCheckNumber.Clear(); 
textBoxRoutingNumber.Clear(); 
textBoxAccountNumber.Clear(); 
textBoxMicrFormat.Clear(); 
textBoxAccountAddress.Clear(); 
textBoxBankAddress.Clear(); 
+2

あなたはいつもそれらのコントロールまたは異なるコントロールにアクションを適用していますか?関数呼び出しでそのコードをラップできないのはなぜですか? –

+2

[メソッド(C#プログラミングガイド)](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/methods) –

+1

は私にとってはリセット機能のようです。 – mccainz

答えて

-3

あなたはStatic方法 ResetControlsと公共Staticクラスまたはパブリッククラスを作成して、必要な回数のどんな数にそれを呼び出すことができます。この方法は、異なるクラス(モジュール)からのリセットを実行するときに効率的です。

ただし、フォームのコードビハインドからそのコードを呼び出す必要がある場合は、上記の方法は過剰です。プライベート関数を作成して呼び出すだけです。

private void reset() 
{ 
comboBoxAccount.ResetText(); 
comboBoxAccount.SelectedIndex = -1; 
textBoxAccountName.Clear(); 
comboBoxPrinter.ResetText(); 
comboBoxPrinter.SelectedIndex = -1; 
comboBoxCheckType.ResetText(); 
comboBoxCheckType.SelectedIndex = -1; 
textBoxCheckNumber.Clear(); 
textBoxRoutingNumber.Clear(); 
textBoxAccountNumber.Clear(); 
textBoxMicrFormat.Clear(); 
textBoxAccountAddress.Clear(); 
textBoxBankAddress.Clear(); 
} 
+1

静的メソッドはインスタンスにアクセスする必要がありますそれは非常にclunkyだろうコントロール。 –

+0

ありがとう、これは私が探しているものです。私は最初にクラスでこれをやろうとしていましたが、それは正しい解決策のように感じられませんでした。私は関数について知っていますが、今まではC#でそれらを使用する必要はありませんでした。それを見ることはドットをつなぐのに役立ちます。 – anon878787

関連する問題