【发布时间】:2016-02-05 03:54:01
【问题描述】:
我不擅长反思,我希望我选择了正确的类别。我有一个有趣的问题。我使用 devexpress 报告编写了一份报告。这涉及到这样一行代码:
lxListData = New System.Collections.Generic.List(Of DLL.Report.ListData)
ListData 是在执行上述行的程序集之外的程序集中的报告。上面的行工作正常,允许我运行报告。
我所做的是将这个报告的所有信息作为字符串放入一个表格中,其中包括类型:“DLL.Report.ListData”
我需要将此字符串名称更改为上面代码行中使用的类型。我试过了:
Dim type1 As Type = System.Reflection.Assembly.LoadWithPartialName("DLL.Report").GetType("DLL.Report.ListData")
然后将上面的行更改为:
lxListData = New System.Collections.Generic.List(Of type1)
我尝试了一些其他类似的技术。在所有情况下,“type1”变量都不会被视为一种类型,即使它看起来像是在监视窗口中。
任何建议将不胜感激。
谢谢, 尼尔
我做了更多的研究,发现这条线:
Dim type1 As Type = System.Reflection.Assembly.LoadWithPartialName("DLL.Report").GetType("DLL.Report.ListData")
它在变量 type1 中返回一个 sytem.type,而不是类型 DLL.Report.ListData。该变量中有两个属性:Name="ListData" 和 FullName="DLL.Report.ListData"。我能够使用 type1 中的一些方法来获取 DLL.Report.ListData 的属性,因此 type1 似乎是指向 DLL.Report.ListData 的指针。 我的问题是我需要一个 DLL.Report.ListData 类型的变量。有没有办法获取 Fullname 字符串并返回类型为 DLL.Report.ListData 而不是“system.type”的内容?
【问题讨论】:
-
你已经用s(一种统计编程语言)标记了这个问题,但这看起来很像Visual Basic。这需要重新标记吗?
-
感谢您指出。完毕。只是在键盘上随意点击一下:-)
标签: vb.net object reflection assemblies