从另一个对象类型创建一个对象

西蒙

在Visual Basic.net中,我可以创建一个对象,还是具有其他对象类型的T列表。

这是一些代码:

Dim TestObjectType As Author
Dim TestObject As TestObjectType.GetType

我收到一个错误:

未定义TestObjectType.GetType

编辑

我可以创建某种类型的Type对象,然后从该Type对象创建对象,列表或将对象转换为此类型吗?

懒惰

Dim TestObject As TestObjectType.GetTypeGetType在命名空间中寻找一种命名类型TestObjectType


要使用创建类的实例System.Type,可以使用Activator.CreateInstance

Dim TestObject = Activator.CreateInstance(TestObjectType.GetType())

要创建通用列表,可以使用Type.MakeGenericType

Dim listType = GetType(List(Of )).MakeGenericType(TestObjectType.GetType())
Dim list = Activator.CreateInstance(listType)

请注意,上面的两个代码段都返回Object但是,您可以使用泛型来实现编译时安全性:

Dim TestObject = CreateNew(TestObjectType)
Dim AuthorList = CreateNewList(TestObjectType)

...

Function CreateNew(Of T As New)(obj As T) As T 
    Return New T()
End Function

Function CreateNewList(Of T)(obj As T) As List(Of T)
    Return New List(Of T)
End Function

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

访问在另一个类中创建的对象

使用伪对象从另一个对象数组创建一个对象数组

使用另一个函数创建对象

访问在另一个函数中创建的对象

用另一个对象的属性-值对创建一个新对象

补间创建一个对象的效果跟随另一个对象-LibGdx

如何从特定的另一个对象创建对象

在另一个对象中动态创建对象

Javascript:在JavaScript中从另一个对象创建一个深度嵌套的对象

根据另一个对象的相同键对一个对象进行类型转换

从另一个GroupBy对象创建一个GroupBy对象

从另一个分层对象创建分层对象

打字稿基于接口从另一个对象创建一个对象

如何基于数组和另一个对象创建一个新对象?

创建另一个类python的对象

如何创建一个类,使其对象之一与VB中另一个类的类型相同?

在另一个对象中创建的模拟对象

AngularJS / JavaScript从另一个对象创建一个新对象

用另一个类创建新对象

访问在另一个类中创建的对象

从另一个对象创建一个对象是更好的做法

如何使用 Python 从另一个对象创建一个新的 JSON 对象?

如何根据另一个对象数组的值创建一个对象数组?

如何链接到类类型创建另一个类类型的对象

以编程方式基于另一个对象数组创建一个对象数组

无法从另一个类创建类对象

基于Python中的另一个对象属性创建一个类的对象

从另一个 Javascript 创建对象

使用来自另一个对象的值创建一个对象数组