You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在VB.Net项目调用C#扩展方法报错:未找到String类型的公共成员

C#扩展方法在VB.NET中无法调用的解决办法

核心解决步骤

  • 添加程序集引用:确保VB.NET项目已引用包含Extensions类的C#项目或其编译生成的DLL文件。
  • 导入命名空间:在VB.NET代码文件顶部,添加Imports语句导入Extensions类所在的命名空间(替换为实际命名空间):
    Imports YourExtensionNamespace
    
  • 调整调用方式:
    1. 实例调用(推荐):确保VB项目的Option Infer设置为On(默认开启,也可在代码顶部添加Option Infer On强制开启),之后直接调用:
      Dim test As String = "test"
      Dim convert As Object = test.ConvertToDBNull()
      
      若变量类型为Object,只要命名空间已正确导入,也可正常调用。
    2. 静态类直接调用:如果实例调用仍有问题,直接通过静态类调用扩展方法:
      Dim test As Object = "test"
      Dim convert As Object = Extensions.ConvertToDBNull(test)
      

额外检查项

  • 确认C#中的Extensions类和ConvertToDBNull方法均为public访问级别(示例代码已满足)。
  • 若VB项目启用了Option Strict On,Object类型变量的实例调用可能需要先转换为具体类型,或直接使用静态调用方式。

内容的提问来源于stack exchange,提问作者Anderson Constantino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 17:35:25