【发布时间】:2013-10-11 02:37:40
【问题描述】:
我想反序列化为一个类型,但我只有那个类型的字符串表示。
我只知道该类型实现了ISomething。
string typeName = "MyClass";
BinaryFormatter binaryFormatter = new BinaryFormatter();
byte[] data = Convert.FromBase64String(serialisedString);
using (MemoryStream memoryStream = new MemoryStream(data, 0, data.Length))
{
return (ISomething)binaryFormatter.Deserialize(memoryStream) as ISomething;
}
但我在 BinaryFormatter.Deserialize 上得到以下异常:
无法将“System.RuntimeType”类型的对象转换为类型 'MyAssembly.ISomething'
如何转换为typeName 中存储的类名?
【问题讨论】:
-
对象是如何序列化的?
标签: c# .net serialization casting type-conversion