【发布时间】:2010-06-02 00:52:05
【问题描述】:
正如标题所示,我很想将变量数据类型传递给模板类。像这样的:
frmExample = New LookupForm(Of Models.MyClass) 'Works fine
Dim SelectedType As Type = InstanceOfMyClass.GetType() 'Works fine
frmExample = New LookupForm(Of SelectedType) 'Ba-bow!
frmExample = New LookupForm(Of InstanceOfMyClass.GetType()) 'Ba-bow!
LookupForm<Models.MyClass> frmExample;
Type SelectedType = InstanceOfMyClass.GetType();
frmExample = new LookupForm<SelectedType.GetType()>(); //Ba-bow
frmExample = new LookupForm<(Type)SelectedType>(); //Ba-bow
我假设这与编译时正在处理的模板有关,但即使我在那里不合时宜,它也无法解决我的问题。我也找不到任何有关使用反射来实例化模板类的相关信息。
(如何)在运行时创建动态类型存储库的实例?
【问题讨论】:
-
您根本找不到任何有关在 VB.NET 或 C# 中创建动态模板的信息,因为这两种语言都不支持模板。它们都支持泛型,它们有很大的不同。
标签: c# vb.net generics reflection dynamic-typing