私はC#(PHPから来ています)に少し慣れていません。リストをループすることによって、そのvarialbeへの参照を渡すことができない、つまり次のコードが無効であることに少しショックを受けました。
foreach (ref string var in arr) {
var = "new value";
}
少し調べてみたところ、「更新可能な列挙子」を作成するという提案が見つかりましたが、それをどの程度正確に行うべきかわかりません。例に従って、IEnumerator.Currentメソッドとカスタム列挙子(PeopleEnum.Current)の両方にCurrentのセッターを追加しようとしましたが、正直なところ、それは盲目的な推測であり、機能しませんでした。ここに貼り付けるのはかなり長いので、コード全体をpastebinに貼り付けています-カスタム列挙子の試行。このコードでは、次の方法で現在の要素にアクセスしようとしています
badClass baddie = new badClass(ref tmp.Current);
「プロパティまたはインデクサーがoutまたはrefパラメーターとして渡されない可能性があります」という予期されるエラーが発生します
私が最終的に目指しているのは、次のようなものです。オブジェクトのリストを繰り返し処理し、各オブジェクトのボタンを生成し、そのボタンのonclickイベントを追加して、新しいフォームを開き、そのオブジェクトの参照を渡します。 、その内容をその新しい形式で編集できるようにします。私はこれをすべて行いましたが、読み取り専用データではなく、参照としてオブジェクトを渡すと、私は死にます。更新可能な列挙子やアイデアについて読むことができる回答、リンクをいただければ幸いです。