私はCOMサーバーを持っています。私はこのようなダイナミックなスタイルでそのメソッドを呼び出した場合は、他の側にいくつかの問題が発生した場合には、私は完全な例外を取得InteropAssembly COMのCOMException
try
{
Type factoryType = Type.GetTypeFromProgID("VPI.TcHost.TcAppFactory");
dynamic factory = Activator.CreateInstance(factoryType);
dynamic appl = factory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get nice exception with _FULL_ description message
}
私はInteropAssembly作成し、他にいくつかの問題が発生した場合には、このようにそのメソッドを呼び出すとサイド私は短い例外ラッパーを取得する
try
{
CTcAppFactory appFactory = new CTcAppFactory();
CNgaApp mApp = appFactory.CreateTcApp("Nga", "8.7");
}
catch (COMException ex)
{
//Here i get short exception with hex code without Error string that was sent
//from COM server
}
これは短い例外のようです。 (私のCOMサーバーが送信する問題の説明が含まれていません)
強力な型のコードで完全な例外を取得するにはどうすればよいですか?
ありがとうございました!素晴らしい答え。私は、COMサーバ側でIErrorInfoを実装することは素晴らしい解決策になると思います。 – Grigory