- ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
922 :デフォルトの名無しさん[sage]:2015/09/29(火) 06:37:06.56 ID:95NUhHsK - 別アセンブリにあるクラスのインスタンスのプライベートメンバ構造体のパブリックメンバに
書き込みを行いたいんですが、何か良い方法は無いでしょうか?
| - ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
925 :デフォルトの名無しさん[sage]:2015/09/29(火) 08:55:02.53 ID:95NUhHsK - >>923
ご明察。セッターメソッドは存在するんですがそのメソッド内部の処理を迂回して直接書き込みたい、と言う感じです。 >>924 自分もリフレクションで何とかしようとやって見たんですが、 FieldInfo.SetValueで渡す構造体インスタンス?(値型ですが)が確保できなくて困ってます。 typeof(外部クラス型).GetField("構造体名",BF).GetValue(外部クラスインスタンス); をした時点で「構造体の値がコピーされたobject」が返ってくる様です。(その為SetValueDirectでも無理でした) コピー構造体のメンバを書き替えてコピー構造体自体を代入する、と言う手段もあるんですが、 書き込む際にその都度GetValueするハメになるので、なんとか構造体のメンバへ直接書き込みたい次第。
| - ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
930 :デフォルトの名無しさん[sage]:2015/09/29(火) 11:16:52.06 ID:95NUhHsK - >>928
まさにそんな感じです。 そのコードだとMakeTypedReferenceでNotImplementedException吐くみたいですね。なんでだろう。
| - ふらっと C#,C♯,C#(初心者用) Part116 [転載禁止]©2ch.net
932 :デフォルトの名無しさん[sage]:2015/09/29(火) 15:07:12.67 ID:95NUhHsK - >>931
なるほど、monoが原因ですが。と言う事は.NETではこのコードで問題ないんですね。 助かりました。ありがとうございました。
|
|