сильный текст У меня есть базовый класс с методом синхронизации данных. Однако мне нужно иметь возможность создавать в процессе новый объект, который совпадает с родительским объектом, который унаследовал базовый класс.
Я хочу сделать что-то вроде этого:
Sub Transfer(ByVal OBType As BaseClass)
Dim A as new typeof(OBType)
A.doSomething()
End Sub
EDIT
Прошу прощения за путаницу
Мой вариант использования заключается в том, что я передаю данные между двумя объектами, и метод отвечает за объединение изменений между ними. Когда метод вызывается, он получает набор записей, а затем должен вызвать метод передачи, который синхронизирует их. При выполнении GetDataRow мне нужна новая версия объекта, а также новая версия для завершения передачи.
Вот урезанная версия кода:
GetDataRow создает объект из базы данных и передает данные, затем сравнивает его и вносит необходимые изменения.
Sub Transfer(ByVal OBType As BaseBLLClass)
'Get a list from each side and synch
Dim DT As DataTable = GetDataMethod() ‘Gets data to transfer
Dim A As OBType
Dim B As OBType
For Each Row As DataRow In DT.Rows
A = New OBType
B = New OBType
GetDataRow(A, Row).TransferData(B)
Next
End Sub
Решение
Public Shared Sub Base_Transfer(Of OBType As BaseBLLClass)()
'Get a list from each side and synch
Dim DT As DataTable = GetDataMethod() ‘Gets data to transfer
Dim A As BaseClassUIM = Activator.CreateInstance(GetType(OBType))
Dim B As BaseClassUIM = Activator.CreateInstance(GetType(OBType))
For Each Row As DataRow In DT.Rows
A = Activator.CreateInstance(GetType(OBType))
B = Activator.CreateInstance(GetType(OBType))
GetDataRow(A, Row).TransferData(B)
Next
End Sub