私はちょっと混乱しているので、ここで私を助けてください..私はC#winformsプロジェクトにフォームがあり、この特定のフォームとすべての派生したものに対していくつかのタスクを実行することになっているいくつかのメソッドがあるので、それらのヘルパーメソッドの1つが例を作成してください..これはコンボボックスをデータセットで埋める必要があります。現在は正常に動作していますが、この署名でメソッドをコーディングしたとき
protected void FillComboBox(kComboBox target, IEntClass_DA entity)
{
target.DataSource = entity.GetList().Tables[0];
target.DisplayMember = "name";
target.ValueMember = "id";
}
メソッド呼び出し後、コンボボックスの displayMember と ValueMember が値を保持していないことがわかりました。割り当てが読み取り専用の参照変数で無駄にならないように、ref パラメーターを使用する必要があると考えました。
それまでは問題ありませんでしたが、後でフォーム全体をパラメーターとして渡す練習をすると、コンパイラーから、これは読み取り専用であるため ref パラメーターとして渡すことができないという警告が表示されました。それでは、作業を続けて、ref キーワードがなくても、フォームから ref 変数を使用して、いくつかのプロパティを更新し、変更を確認できることを確認します。
ここで何が起こっているのですか? コントロールの参照をヘルパー メソッドに渡すと、ref パラメーターを使用していない場合でも、そのメンバーを変更できますか??
ありがとう。