2012-02-26 95 views
0

我有字符串属性和与此代码填充它:将字符串转换为C#中的控件类型?

prop1= MyCustomPanle.GetType().ToString(); 

我用PROP1保持控件的类型(WPF基本控制的和客户化控制的)。我保留这个属性,并希望创造价值这类基地属性。事情是这样的:

Type ControlType=Type.Gettype(prop1); 

但这Type.GetType()仅变量类型如int,字符串工作等

如何将字符串转换为控制类型?

回答

2

您需要将完整的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的

相关问题