我需要能够将一个类型的值存储到文件中,并在以后将其读回到该类型的值。如何最好地解决这个问题?
Type type = typeof(SomeClass);
binaryWriter.Write?(type);
假设程序集稍后仍将存在,我会存储程序集限定名称:
binaryWriter.Write(type.AssemblyQualifiedName);
...
string typeName = binaryReader.ReadString();
Type type = Type.GetType(typeName);
Assembly.GetType(string)
。您还可以使用BinaryFormatter
类:
Type t = typeof (SomeClass);
BinaryFormatter serializer = new BinaryFormatter();
using (var stream = File.OpenWrite(filePath))
{
serializer.Serialize(stream, t);
}
var obj = (Type)serializer.Deserialize(File.OpenRead(filePath));
AssemblyQualifiedName
和Type.FullName
是相同的吗? - Selman Genç