Сделайте универсальный экземпляр giveh тип (не экземпляр)
У меня есть универсальный класс, используемый для сериализации события в/из словаря пар имя-значение. Он имеет следующую сигнатуру класса:-
Public Class EventSerializer(Of TEvent As {New, IEvent})
У него есть фабричный метод, который может создать его из экземпляра класса таким образом:-
Public Function Create(Of TEvent As {New, IEvent})(ByVal evt As TEvent) As EventSerializer(Of TEvent) Return Create(Of TEvent)() End Function Public Function Create(Of TEvent As {New, IEvent})() As EventSerializer(Of TEvent) ' creation happens here End Function
Как бы я сделал фабричный метод, который мог бы создать сериализатор, если бы это была система?Параметр типа передается в :-
Public Function Create(ByVal evtType As System.Type) As EventSerializer(Of ?)
?
Что я уже пробовал:
Создание экземпляра типа с помощью отражения работает, но не является ни элегантным, ни действительно правильным..