【问题标题】:vbObjectError how to use this one into c# codevbObjectError 如何在c#代码中使用这个
【发布时间】:2012-05-18 08:35:57
【问题描述】:

让我知道如何在 c# 代码中使用这个 "vbObjectError": //这是我的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

【问题讨论】:

  • 别这样。在 C# 中你抛出异常,你不使用错误代码。

标签: c# vb.net vb.net-to-c#


【解决方案1】:

你可以直译为:

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

在这种情况下,您需要引用 Microsoft.VisualBasic.dll。

如果您不想依赖 Microsoft.VisualBasic.dll,您可以定义自己的 C# 常量:

public const int VBObjectError = -2147221504;

但我会质疑为什么在 C# 应用程序中需要它。从vbObjectError 偏移的常量通常对应于 HRESULT 并用于 VB 的 Err.Raise 语句中。

在 C# 中你只会抛出一个异常。

【讨论】:

  • 如果在 C# 中编写代码以在 VB 中使用,则需要此常量。当然,如果这样做,可能 (1) 已经引用了 Microsoft.VisualBasic.dll 并且 (2) 已经知道问题的答案。
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多