簡體   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