将字符串转换为C#中的控件类型?
问题描述:
我有字符串属性和与此代码填充它:将字符串转换为C#中的控件类型?
prop1= MyCustomPanle.GetType().ToString();
我用PROP1保持控件的类型(WPF基本控制的和客户化控制的)。我保留这个属性,并希望创造价值这类基地属性。事情是这样的:
Type ControlType=Type.Gettype(prop1);
但这Type.GetType()
仅变量类型如int,字符串工作等
如何将字符串转换为控制类型?
答
您需要将完整的AssemblyQualifiedName
转换为GetType()
。
您可以通过调用GetType().AssemblyQualifiedName
来获取此类型的现有实例。
例如
var myControlTypeName = typeof(MyControl).AssemblyQualifiedName;
var myControlType = Type.GetType(myControlTypeName);
myControlTypeName
以上结束为:
MyNamespace.MyControl,MyProject的,版本= 1.0.0.0,文化=中立,公钥=空
但如果你想让它是版本中立我相信它可以缩短到下面,仍然工作:
MyNamespace。 MyControl,MyProject的
答
我认为你正在寻找Activator.CreateInstance
,这将创建一个基于仅在运行时已知的类型的对象:http://msdn.microsoft.com/en-us/library/system.activator.createinstance.aspx
不,我只是想的类型不创建对象! – Rev 2012-02-26 09:17:34