使用 Activator.CreateInstance 创建 Dictionary(Of K,V) 的实例
鉴于以下代码,我尝试根据我拥有的 ItemType
变量创建一个 Dictionary(Of String, ??)
的新实例。如何构造 DictType
以便我可以使用 Activator
创建我想要的类型的实例?
Dim ItemType As Type ' Data type of dictionary value
Dim DictType As Type = ???? ' Dictionary(of String, ItemType)
Dim NewDict = Activator.CreateInstance(DictType)
Given the below code, I'm trying to create a new instance of a Dictionary(Of String, ??)
based on a ItemType
variable I have. How do I construct the DictType
so that I can use Activator
to create an Instance of the type I'm after?
Dim ItemType As Type ' Data type of dictionary value
Dim DictType As Type = ???? ' Dictionary(of String, ItemType)
Dim NewDict = Activator.CreateInstance(DictType)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
假设您有一个
Type
类型的方法参数或局部变量,其名称为typeVariable
。那么答案是:参见文档(http://msdn. microsoft.com/en-us/library/system.type.makegenerictype.aspx)作为示例,其中一个使用字典。
Assume you have a method parameter or local variable of type
Type
whose name istypeVariable
. Then the answer is:See the documentation (http://msdn.microsoft.com/en-us/library/system.type.makegenerictype.aspx) for examples, including one using Dictionary.
您正在寻找的是
GetType
方法。这将从指定/可绑定类型名称返回一个Type
实例。例如EDIT
这是在编译时并非所有类型都已知的情况下创建
Dictionary(Of Key, Value)
类型的版本What you're looking for is the
GetType
method. This will return aType
instance from a stated / bindable type name. For exampleEDIT
Here's the version to create the
Dictionary(Of Key, Value)
type when not all of the types are known at compile time