- - PR -
C#におけるオブジェクトインスタンスのダンプ
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-04-09 16:58
こんにちわ。
SE3年目のわんです。 以下に質問を記載します。 どなたか有識者にアドバイスをいただければ幸いです。 【実現したい事】 C#でオブジェクトインスタンスのダンプをしたい。 →vsのクイックウォッチみたいな事をしたいわけです。 【前提条件】 ・インスタンスのメンバを全て、ソースに書くようなことはしない。 ・型名、実値の両方が確認できる。 ・ツールなどへの画面表示、ファイル出力など視覚的に分かるようにしたい。 【知りたいこと】 @C#で実現可能なのでしょうか? A実現可能なのであれば、その手段を教えていただきたいです。 以上です。 | ||||
|
投稿日時: 2008-04-09 17:23
有識者ではありませんが、リフレクションを使えばあるインスタンスが持っているメンバの値と名前を取得することができます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-04-09 17:25
可能です。
対象オブジェクトの GetType メソッドにて型情報を取得し、 リフレクションを使用します。 以下、コード例です。
_________________ C#と諸々 | ||||
|
投稿日時: 2008-04-09 17:25
System.Reflection 名前空間のクラスで実現可能です。 出力に関しては、何に出力するのかで色々と方法があると思いますよ。 | ||||
|
投稿日時: 2008-04-09 18:01
各位
返答およびアドバイス有難うございます。 とても参考になります。 少し前提条件に記載し忘れた観点がありましたので、追記します。 【前提条件】 オブジェクトインスタンス内のメンバのメンバも参照する。 もちろんメンバのメンバのメンバも。 (つまり階層的・再帰的に実値型に当たるまで参照する。 これだと参照ループにはまりそうなので、終了判定は必要かもしれませんが。) System.Reflectionでインスタンスの中身を全て見ることは可能でしょうか? | ||||
|
投稿日時: 2008-04-09 18:01
各位
返答およびアドバイス有難うございます。 とても参考になります。 少し前提条件に記載し忘れた観点がありましたので、追記します。 【前提条件】 オブジェクトインスタンス内のメンバのメンバも参照する。 もちろんメンバのメンバのメンバも。 (つまり階層的・再帰的に実値型に当たるまで参照する。 これだと参照ループにはまりそうなので、終了判定は必要かもしれませんが。) System.Reflectionでインスタンスの中身を全て見ることは可能でしょうか? | ||||
|
投稿日時: 2008-04-09 18:01
各位
返答およびアドバイス有難うございます。 とても参考になります。 少し前提条件に記載し忘れた観点がありましたので、追記します。 【前提条件】 オブジェクトインスタンス内のメンバのメンバも参照する。 もちろんメンバのメンバのメンバも。 (つまり階層的・再帰的に実値型に当たるまで参照する。 これだと参照ループにはまりそうなので、終了判定は必要かもしれませんが。) System.Reflectionでインスタンスの中身を全て見ることは可能でしょうか? | ||||
|
投稿日時: 2008-04-09 21:31
こんな感じのコントロール(PropertyGrid)もあるので
使用されてはどうでしょうか? http://www.atmarkit.co.jp/fdotnet/dotnettips/285propertygrid/propertygrid.html [ メッセージ編集済み 編集者: indigo-x 編集日時 2008-04-09 21:32 ] |
1