如何将我的Class1
或对象类转换为String
,然后将String
转换回我可以用于实例化的类型?
像这样:
// class to string:
Type type1 = myObject.GetType();
string text = type1.ToString();
// and then back
Type type2 = Type.Parse(text);
// type2 should reflect the same type as type1
用枚举来做这件事真的很简单很好。所以我希望在课堂上也这样。我还希望避免使用序列化和XML。我不想序列化对象,但是只是来记住我需要为对象实例化的类。
如果不需要序列化,可以使用Activator.CreateInstance
方法。有很多重载——有些直接处理字符串(表示类型),有些则处理类型对象。
当然,使用一个同时存储Type信息的序列化器可能更方便(或更可扩展)。
如果只是您想要的Type
,则:
Type type = ...
string s = type.AssemblyQualifiedName; // and store s
Type andBackAgain = Type.GetType(s);