я использовал следующий код, чтобы создать новый экземпляр определенного типа назначения, используя исходный объект, где я скопировал все примитивные значения типа свойства исходного объекта к объекту назначения:Создание ссылочного типа List (объекты) из исходного списка
Function GetDestinationObjectFromSourceObject(pSourceObject As Object, pDestinationType As Type) As Object
Dim oDestinationObject = Activator.CreateInstance(pDestinationType)
For Each oPropertyDescriptor As PropertyDescriptor In TypeDescriptor.GetProperties(pSourceObject)
If TypeDescriptor.GetProperties(oDestinationObject).Contains(oPropertyDescriptor) Then
TypeDescriptor.GetProperties(oDestinationObject).Item(oPropertyDescriptor.Name).SetValue(oDestinationObject, oPropertyDescriptor.GetValue(pSourceObject))
End If
Next
Return oDestinationObject
End Function
Теперь. У меня есть List (Of Class1) и вы хотите получить List (Of Class2), используя тот же общий подход. Здесь я хочу передать List (Of Class1) и тип назначения (т. Е. GetType (Class2)) Как я могу достичь того же?
Да, вы правы. Это может быть решение, но оно не является общим для всех типов списков, поскольку здесь вы кодируете «Список newlstClass2 = новый Список ();» который также я хочу сделать родовым, должен быть сделан на основе назначения Тип не «новый список ();». –
binarymnl
Проверьте обновленный ответ – samar