0

如何将我Class1的对象或对象类转换为 a 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。我不想序列化对象,只想记住我需要为对象实例化的类。

4

2 回答 2

4

如果不需要序列化,该Activator.CreateInstance方法可能很有用。有许多重载——一些直接使用字符串(表示类型),而另一些使用 Type 对象。

当然,使用也存储类型信息的序列化程序可能更方便(或更可扩展)。

于 2013-06-04T07:13:44.747 回答
2

如果它只是Type你想要的,那么:

Type type = ...
string s = type.AssemblyQualifiedName; // and store s
Type andBackAgain = Type.GetType(s);
于 2013-06-04T07:29:43.787 回答