【发布时间】:2012-02-29 18:20:08
【问题描述】:
问题:
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);
}
【问题讨论】:
标签: .net visual-studio-2010 c++-cli