У меня есть некоторый код, как это:Как получить правильный тип T
Private Shared Function ReStoreFromXML(Of T)(ByVal TargetType As T, ByVal XMLpath As String) As List(Of T)
If Not TypeSupported(TargetType) Then Return Nothing
....
Return CType(mySerializer.Deserialize(fstream), List(Of T))
TargetType является, например, MyCustomType.
ТипПоддерживаемый должен проверить, нормально ли TargetType. Когда я пытаюсь что-то вроде
TargetType.GetType
Или
GetType(T)
я получаю только System.RuntimeType или System.Type. Как я могу исправить эту проблему?
UPD:
Для более четкого понимания того, что я хочу ... и в методе ReStoreFromXML у меня есть такой код:
Dim mySerializer As XmlSerializer
mySerializer = New XmlSerializer(GetType(T))
Как я могу создать mySerializer с аргументом MyCustomType?
Как вы называете свою функцию 'ReStoreFromXML'? Вы передаете экземпляр 'Type' в качестве первого аргумента? Если это так, это сделает 'T'' Type', * not * тип, который вы передаете. – hvd
@hvd В этом проблема. Если вы вызываете 'ReStoreFromXML (GetType (string), ...)', то 'T' будет Type/RuntimeType. Если вы назовете 'ReStoreFromXML (« somestring », ...)', 'T' будет' string.' – sloth
@Dominic Kexel thnx, вы комментируете даете мне правильный путь) – frankie