我有字符串屬性和與此代碼填充它:將字符串轉換爲C#中的控件類型?
prop1= MyCustomPanle.GetType().ToString();
我用PROP1保持控件的類型(WPF基本控制的和客戶化控制的)。我保留這個屬性,並希望創造價值這類基地屬性。事情是這樣的:
Type ControlType=Type.Gettype(prop1);
但這Type.GetType()
僅變量類型如int,字符串工作等
如何將字符串轉換爲控制類型?
我有字符串屬性和與此代碼填充它:將字符串轉換爲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