1

管理されていないdllで記述した管理されていないC++クラスがあります。アンマネージdllを参照するマネージdllがあります。管理されたdllのクラスは、管理されていないクラスから派生できますか?

VisualStudio2008の使用

4

3 に答える 3

5

できません。管理対象クラスのインスタンスはガベージコレクションされ、CLRヒープ上に作成されます。アンマネージクラスのインスタンスは、アンマネージヒープに割り当てられます。データが部分的にマネージドヒープ上にあり、そのベースデータがアンマネージドヒープ上にあるオブジェクトをどのように作成できますか?

他の手法を試す必要があります。たとえば、管理対象のコンテナを管理対象外のものにラップするか、その逆を行って、おそらくそこから派生します。

于 2009-02-02T22:23:23.503 に答える
1

まだできませ。Herb Sutter は、広範なC++/CLI Design Rationaleを書き、そのようなことが実際に可能になる日が来るかもしれないと示唆しています。しかし、Microsoft は C++/CLI のさらなる開発を停止したようですか?

于 2009-03-21T05:30:24.653 に答える
0

最善の方法は、アンマネージ クラスをマネージャー ラッパーでラップし、そこから派生させることです。

于 2009-04-22T10:41:30.033 に答える