【发布时间】:2015-10-09 11:08:54
【问题描述】:
我正在用 C# 创建一个 COM 类,它将从非托管 C++ 中调用。我想使用ThrowExceptionForHR,但我不想硬编码 HRESULT 数值。
我期待在 .Net 的某个地方会有一些常见的 HRESULT 值的枚举?
换句话说,我在哪里可以找到映射到 HRESULT 值的命名符号以传递给ThrowExceptionForHR?
更新:
MS 在此页面中讨论它:HRESULT Information in Managed Code。他们引用了 VSConstants 类 Microsoft.VisualStudio.VSConstants,但是当我尝试使用它时,它声称命名空间不存在。
【问题讨论】:
-
在参考源中搜索一个? referencesource.microsoft.com/#q=E_NOTIMPL
-
好像有很多!
-
我不认为标记的问题是骗人的。我不是专门进行枚举,只是任何命名值,因此我可以避免输入原始数值。作为@AlexK。指出一些符号 do 存在,但不清楚我应该使用哪个类。
-
要使用
VSConstants类,您必须安装以下包:nuget.org/packages/Microsoft.VisualStudio.Shell.14.0
标签: c# .net com .net-4.0 com-interop