【发布时间】:2011-06-16 11:31:46
【问题描述】:
(初步说明:我还没有完全掌握整个“互操作”的东西......)
在 .NET 中使用 COM 库时,所有 HRESULT 方法都被包装到返回码不成功时抛出的东西中。
//ATL magic exluded
class C {
HRESULT foo(){ return E_FAIL; }
};
// usage code:
if( SUCCEEDED( c.foo() ) ) {
// success code
} else {
// failure code
}
此代码的 .NET 对应内容如下:
try {
c.foo();
// success code
} catch ( Exception e ) {
// failure code
}
有没有办法直接在.NET中访问COM返回码,这样就不需要异常处理了?
【问题讨论】:
标签: .net exception com-interop hresult