1
:4.0の 'dynamic'変数にMarshal.ReleasComObjectを使用する必要がありますか?私は、次のC#のコードを持っている
int CallFooMethod()
{
Type type = TypeDelegator.GetTypeFromProgID("SomeCOMDll.SomeCOMClass");
dynamic foo = Activator.CreateInstance(type);
return (int)foo.Foo();
}
私の質問は、私は、変数fooという名前でMarshal.ReleaseComObjectを使用する必要がありますか?
COMオブジェクトのメソッドを呼び出すために通常の方法でリフレクションを使用していたのであれば、これを行うのが普通ですが、ダイナミックは遅延バインディングとマジックに関するものなので、dynamic型の変数が私にとって、この...
おかげ
私は上記のリンクを読んで、私の状況には当てはまらないと思います。 – Wes
私はCOM InteropアセンブリまたはRCWを使用していません。少なくとも、これを行うためのコンパイラオプションで生成されたものはありません。どちらかが忘れてしまいます。 私の場合、私はそれを作成し、私はオブジェクトの寿命を明示的に制御したい、 :私はそれができるだけ早くガベージコレクションまで待たずに行くようにしたい。 – Wes
@Wes: 'dynamic'は何の違いもありません。メソッドの実行を制御するだけです。 – SLaks