繁体   English   中英

如何访问与vb.net项目内部大小写不同的C#成员

[英]How to access C# members that differ in case from inside a vb.net project

这个 :

public class Something
{
    public string lala = "";

    public class Lala
    {
         //...
    }
}

现在是合法的C#,我将其编译,然后将dll放入新的Vb.Net项目中:如何从VB.Net访问成员lala ,如果我尝试得到错误“ 'lala'是模棱两可的,因为具有多种成员此名称存在于Something类中”

首先:将引用添加到您的项目。

添加参考

浏览到您的Something_Lala DLL文件并添加它。

接下来,您需要将其导入到文件中,对其进行初始化,然后再使用它。

伪代码

示例代码看起来很糟糕,但这就是您给SO社区提供的所有服务。

不幸的是,您可能不得不依靠反射来访问此dll。 一旦获取了'Something'类的System.Type实例(使用System.Reflection.Assembly类型的'GetType'实例方法),您将使用类型实例的'GetField'方法访问'lala'字段,并类型实例的“ GetNestedType”方法来访问“ Lala”嵌套类型。

Imports System.Reflection
...
Dim assembly As Assembly = Assembly.Load(...)
Dim outerType As Type = assembly.GetType("Something")
Dim field As FieldInfo = outerType.GetField("lala")
Dim nestedType As Type = outerType.NestedType("Lala")

然后,您将使用field.SetValue(..)和field.GetValue(..)访问“ lala”字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM