none
オブジェクトIDは取得できないでしょうか RRS feed

  • 質問

  • C#のクラスオブジェクトはアドレス値ではなくオブジェクトIDで管理されています。

    このオブジェクトIDは内部的には32ビット整数値のようだということまではわかったのですが、その値をプログラムから取得する方法はないでしょうか?

    (Javaでもできないので無理なのではないかと思っていますが…)

    ふたつのDictionaryに分かれて格納されるオブジェクト群に統一したIDを振ってアクセスしたい状況があり、オブジェクトIDが取得できればそれがそのまま「統一したID」になるんだけどな、と考えているところです。
    2009年12月24日 2:44

回答

すべての返信

  • 残念ながら無理なようです。
    インターフェイスも未公開な上、MSDN の記述を見ているとどうやらランタイムの機能のようなので、言語レベルではアクセスできないみたいですね。

    http://msdn.microsoft.com/ja-jp/library/ms164903(VS.80).aspx

    • 回答としてマーク miuras_net 2009年12月24日 7:27
    2009年12月24日 3:45
    モデレータ
  • そう、この参照先ページで書いてあるような、5# みたいな思わせぶりな記法があるから期待してしまうんですよね…
    2009年12月24日 7:37
  • できないという回答は変わりませんが、なぜそういったことをしたかったんでしょうか。
    キーには参照型も使えるので、それをキーにしても良いとは思いますが、そういったことではないのでしょうか?


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    2009年12月24日 14:50
    モデレータ
  • 同じく違うアプローチがあるのではと思いました。
    2009年12月24日 14:59