C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 構造体のリフレクション


(過去ログ 42 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■21854 / inTopicNo.1)  構造体のリフレクション
  
□投稿者/ めろぱん (5回)-(2008/07/11(Fri) 00:39:30)

分類:[C#] 

開発環境:Visual Studio 2008
使用言語:Visual C#

こんばんは、めろぱんと申します。

引き続きの質問になりますが、
リフレクションでprivateな構造体のメンバにアクセスする方法について
教えてください。

例をあげると以下のような感じです。

using System.Reflection;

namespace AAA
{
  unsafe public class ClassA
  {
    struct stFnc
    {
      void* pFnc1;
      void* pFnc2;
    }
    private stFnc m_Fnc;
    ・・・

  }
}

m_Fncにアクセスするなら

Type type = typeof(ClassA);
FieldInfo fieldinfo = type.GetField("m_Fnc", BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Instance);
fieldinfo.SetValue(classA, 値);

な感じでいけそうですが、m_Fnc.pFnt1にアクセスすることを考えたら
とたんに分からなくなりました。
お手数ですが、ご存知の方、ご教示いただければ幸いです。

よろしくお願いします。

引用返信 編集キー/
■21855 / inTopicNo.2)  Re[1]: 構造体のリフレクション
□投稿者/ Hongliang (281回)-(2008/07/11(Fri) 06:19:31)
ClassA から m_Fnc の取得> fnc1/fnc2 を設定> ClassA へ m_Fnc の設定
引用返信 編集キー/
■22003 / inTopicNo.3)  Re[2]: 構造体のリフレクション
□投稿者/ めろぱん (6回)-(2008/07/14(Mon) 22:14:40)
No21855 (Hongliang さん) に返信

Hongliang さん、こんばんは。
お返事が遅くなりすみません。

実はやりたかったのが、
C++/CLIのprivateな構造体に、C#からアクセスする、
ということでして、
(例でのClassAがC++/CLI)
リフレクション云々の前にC++/CLIとC#の連携についての
理解から始めないといけないと思いました。

せっかくご回答いただいたとことですが、
このスレッドで引き続き掘り下げるのもどうかなと
思いましたので、一度閉じようと思います。
ありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -