Проблема:
How to determine typeof of **managed** template<class T> for deserialize data?
In C# a method to do this is typeof(T) but in C++ is ... ?
Буду признателен за ваше сотрудничество.
строка:
DataContractSerializer^ serializer = gcnew DataContractSerialize(typeof(T));
Сообщения об ошибках
Ошибка 1, ошибка C2275: 'T': недопустимое использование этого типа в качестве выражения c: ... \ SerializationExtensions.h 33 1 iOffshoreSteadyStateEngine
Ошибка 2, ошибка C3861: 'typeof': идентификатор не найден c: ... \ SerializationExtensions.h 33 1 iOffshoreSteadyStateEngine
код:
template<class T>
T SerializationExtensions<T>::Deserialize(System::String^ serialized)
{
DataContractSerializer^ serializer = gcnew DataContractSerialize(typeof(T));
StringReader^ reader = gcnew StringReader(serialized);
XmlTextReader^ stm = gcnew XmlTextReader(reader);
return (T)serializer->ReadObject(stm);
}