Я хочу десериализовать тип, но у меня есть только строковое представление этого типа.Дессериализация с использованием строкового представления целевого типа
Все, что я знаю, это то, что тип реализует 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
?
Как был сериализован объект? – RQDQ