如何將方法返回的值與HRESULT
進行比較?我試過,但它不工作:檢查S_OK的HRESULT方法的返回值
FPropStg.DeleteMultiple(1, psProp) == VSConstants.S_OK
類型確定指標爲DeleteMultiple()是:
HRESULT IPropertyStorage.DeleteMultiple(Ulong, Propspec)
我已經寫VSConstants.S_OK
。有沒有辦法直接寫S_OK
?我試圖這樣做,但得到一個錯誤,表明S_OK
在當前上下文中不存在。
我還檢查了HRESULT
與Windows common system-wide codes。但是我收到的HRESULT
的價值不在該列表中。請注意,我已經包含名稱空間System.Exception
和System.Security.Cryptography.StrongNameSignatureInformation
。
所有這一切說,我基本上有兩個問題:
- 是否有寫
S_OK
而不是VSConstants.S_OK
的方法嗎? - 如何比較方法的返回值與
S_OK
?
HRESULT hr = FPropStg.DeleteMultiple(1, psProp);
if (hr == S_OK) // S_OK does not exist in the current context...
{
}
非常感謝。但它給了我一個錯誤。它說:「如果語句在左側有整數,右側無效」。我遇到了同樣的情況。 :/你的答案與我之前嘗試的類似,如果(FPropStg.DeleteMultiple(1,psProp)== VSConstants.S_OK)。我得到了相同的錯誤,無效和整數無法比較。 –
我有兩個問題通過你的答案解決了第一個和第三個問題。謝謝。第二個問題的任何想法?即無效和整數問題? –