使用Type MyClass
的字符串表示形式我想从字符串表示形式创建MyClass
的实例。
请参阅我的代码中的评论:
interface MyData
{
string Value { get; }
}
class MyClass : MyData
{
public MyClass(string s)
{
Value = s;
}
public string Value { get; private set; }
public static explicit operator MyClass(string strRep)
{
return new MyClass(strRep);
}
public static implicit operator string(MyClass inst)
{
return inst.Value;
}
}
class Program
{
static void Main(string[] args)
{
MyClass inst = new MyClass("Hello World");
string instStr = inst; //string representation of MyClass
string instTypeStr = inst.GetType().FullName;
// I want to be able to do this:
MyData copyInst = (instTypeStr)instStr; // this would throw an error if instTypeStr did not inherit MyData
// Then eventually:
if (instTypeStr.Equals("MyClass"))
{
MyClass = (MyClass)copyInst;
}
}
}
答案 0 :(得分:0)
您可以使用Activator.CreateInstance
方法
链接:http://msdn.microsoft.com/fr-fr/library/d133hta4(v=vs.80).aspx
答案 1 :(得分:0)
您应该了解Serialization。
要将类数据保持为字符串,您应该序列化您的MyClass
对象为字符串。
要从字符串中检索类数据,您应该从字符串中反序列化您的MyClass
对象。
XmlSerializer会帮助您