我想创建一个C#结构,该结构存储一个类类型属性,以后可以将其实例化。
我创建了这样的结构:
internal struct Command<T>
{
internal string trigger;
internal T clazz;
internal string category;
}
然后我要将这些Command结构存储在字典中:
private Dictionary<string, Command> _commandMap;
如何定义字典,以便为Command正确设置其值类型?还是我的整体方法错误?
答案 0 :(得分:1)
如果您希望字典是特定于类型的:
private Dictionary<string, Command<my_type>> _commandMap;
如果您希望将所有内容都放在一个字典中,请不要对该类使用泛型。
您写道,您想存储一个类类型属性以在以后实例化它。但是在代码中,您存储的是类实例,而不是类类型。
我想这就是您要寻找的东西:
internal struct Command
{
internal string trigger;
internal Type clazz;
internal string category;
}
或
internal struct Command
{
internal string trigger;
internal IMyInterface clazz;
internal string category;
}
最后:
private Dictionary<string, Command> _commandMap;