我有一个关于VB.Net的问题。我通常使用CSharp。Type.FullName前缀为程序集名称
的Type.FullName属性似乎包括组件的名字,但文件说,它不应该:
...类型的全名,包括类型的名称空间而不是程序集;
''Class1.vb -- compiled into assembly VBLib
Namespace Space1
Public Class Class1
End Class
End Namespace
''Class2.cs
namespace Space2
{
class Class2
{
}
}
''Program.cs
using Space2;
using VBLib.Space1; // Need to prefix the namespace with the assembly name?
static void Main(string[] args)
{
Type t1 = typeof(Class1);
Type t2 = typeof(Class2);
Console.WriteLine("t1 = " + t1.FullName);
Console.WriteLine("t2 = " + t2.FullName);
}
输出:
T1 = VBLib.Space1.Class1
T2 = Space2.Class2
我使用反射并试图获得CSHARP之间的一些行为一致和VB全名类型。
优秀的回应!我知道我只是错过了一些东西。 – yashoe
只是为了迂腐,VB没有'默认'命名空间,它有一个'root'命名空间。这是它在项目设置中的标签。 –