2

我为 excel 表创建了一个类型提供程序。我需要能够反思这种类型以获取有关其方法和属性的信息。我想不出办法。

type STable = Tables.DTable< @"Book1.xlsx", "Sheet1">

let t = typeof<STable> 

我希望 t 会有关于 STable 的方法和属性的信息,但它只返回关于 System.Object 的信息。

如何获取有关 STable 类型的信息?

4

1 回答 1

2

在运行时,STable它不是真正的 .NET 类型——它被擦除为其他类型(obj在这种情况下)——这就是(擦除)类型提供程序的工作方式。如果您绝对需要以编程方式获取类型,则可以使用原始类型提供程序 API 来完成,但这将非常难看。为此,请获取 的实例ITypeProvider(就像编译器在幕后所做的那样),然后导航生成的名称空间和类型,直到获得System.Type您正在寻找的实例。

于 2013-06-17T21:31:18.483 回答