我需要一个字典,它将Type作为键,Control作为值。例如,对于String类型,Control将是TextBox;对于布尔类型,控件将是单选按钮,依此类推......
问题是当我声明像Dictionary<Type, Control>
这样的字典时,并尝试添加TextBox,例如它说TextBox是一种类型,在给定的上下文中无效。
有什么想法吗?
答案 0 :(得分:0)
由于doc
为vpa
,您必须声明p/q
而不是Dictionary<Type, Type>
:
Dictionary<Type, Control>
然后使用它
TextBox
答案 1 :(得分:0)
Dictionary<Type, Control> dictionary = new Dictionary<Type, Control>();
dictionary.Add(typeof(string), textBox);
dictionary.Add(typeof(bool), checkBox);
答案 2 :(得分:0)
您似乎正在尝试将Control
类型(字面意思)添加到字典中,字典应该包含Control
个实例:
var dictionary = new Dictionary<Type, Control>();
dictionary.Add(typeof(string), TextBox);
你不能这样做。您需要放置Control
的特定实例,或者,如果这只是一些地图以供进一步参考,请重新声明字典:
var dictionary = new Dictionary<Type, Type>();
并填入 types :
dictionary.Add(typeof(string), typeof(TextBox));
// and so on