我为excel表创建了一个类型提供程序。我需要能够反思这种类型以获取有关其方法和属性的信息。我无法想办法这样做。
type STable = Tables.DTable< @"Book1.xlsx", "Sheet1">
let t = typeof<STable>
我希望t会有关于STable的方法和属性的信息,但它只返回有关System.Object的信息。
如何获取有关STable类型的信息?
答案 0 :(得分:2)
在运行时,STable
不是真正的.NET类型 - 它被删除到其他类型(在这种情况下为obj
) - 这就是(擦除)类型提供程序的工作方式。如果您绝对需要以编程方式获取类型,那么可以使用原始类型提供程序API来执行此操作,但这将非常难看。为此,获取ITypeProvider
的实例(就像编译器在后台执行的操作一样),然后导航生成的命名空间和类型,直到获得您正在寻找的System.Type
实例。 / p>