1

この「vbObjectError」 を C# コードで使用する方法を教えてください: //これは私の VB コードです

Public Enum CryptoErrors
    ErrorAquiringContext = vbObjectError + 1056
    ErrorCreatingHash = vbObjectError + 1057
    ErrorCreatingHashData = vbObjectError + 1058
    ErrorDerivingKey = vbObjectError + 1059
    ErrorEncryptingData = vbObjectError + 1060
    ErrorDecryptingData = vbObjectError + 1061
    ErrorInvalidHexString = vbObjectError + 1062
    ErrorMissingParameter = vbObjectError + 1063
    ErrorBadEncryptionType = vbObjectError + 1064
End Enum
4

1 に答える 1

2

次のように直訳できます。

public enum CryptoErrors
{   
     ErrorAcquiringContext = Microsoft.VisualBasic.Constants.vbObjectError + 1056,
     ...
}

この場合、Microsoft.VisualBasic.dll への参照が必要です。

Microsoft.VisualBasic.dll に依存したくない場合は、代わりに独自の C# 定数を定義できます。

public const int VBObjectError = -2147221504;

しかし、なぜ C# アプリケーションでそれが必要なのか疑問に思います。通常、定数オフセットvbObjectErrorは HRESULT に対応し、VBErr.Raiseステートメントで使用されます。

C# では、例外をスローするだけです。

于 2012-05-18T09:29:53.397 に答える