タイトルにはすべてがあります: C#readonly自動実装されたプロペットをリフレクションで設定する方法はありますか?リフレクションによってC#readonly自動実装のプロペティを設定する方法はありますか?
typeof(Change)
.GetProperty("ChangeType", BindingFlags.Instance | BindingFlags.Public)
.SetValue(myChange, change.ChangeType.Transform(),null);
この行は私にエラーを与える:System.ArgumentExceptionの - { "プロパティのsetメソッドが見つかりません。"}。物事はフィールドがないので、GetFieldを使用できません。
私はすでに完成したライブラリを「補完」する必要があり、そのコードにアクセスすることができないので、私はこれをやっています。
ああ。ええ、これはそうだと思います。プロパティはセッターを持っていません...私はその「取得」が実際に得ていることを知らないので、多くの意味がありません。クラスにはフィールドはありませんが、セッターなしの3つのプロパティがあります(そのため、私はそれらが自動実装されていると仮定しています)。私はそれを変える唯一の方法は、ゲッターが何をするかを見つけ、必要なものを変えることだと思います。どのように私はそれを行うことができますか? –
@Conrad getterの仕組みを調べるためにリフレクターを使用してください。 –
@Jason - brainfart、実際にそれについて考える機会があった後にコメントが削除されました。 – tvanfosson