6
私はこのようなクラスがあります。他にインデックスが配列の範囲外だった<機能<T,object>>
class MyClass { public object[] Values; }
どこかに私はそれを使用しています:
MyClass myInstance = new MyClass() {Values = new object[]{"S", 5, true}};
List<Func<MyClass, object>> maps = new List<Func<MyClass, object>>();
for (int i = 0; i < myInstance.Values.Length ; i++)
{
maps.Add(obj => obj.Values[i]);
}
var result = maps[0](myInstance); //Exception: Index outside the bounds of the array
私はそうなると思いましたS
を返しますが、例外がスローされます。何が起こっているか考えてみませんか?
それでは、どのように私はそれが動作することができますか? –
私は自分の答えを更新しました。 – MarcinJuraszek
はい、問題は解決しました。 'i'値が参照値のように振る舞っている理由を説明できますか? –