字典中的泛型类型结构

时间:2019-02-23 14:52:49

标签: c# dictionary generics

我想创建一个C#结构,该结构存储一个类类型属性,以后可以将其实例化。

我创建了这样的结构:

internal struct Command<T>
{
    internal string trigger;
    internal T clazz;
    internal string category;
}

然后我要将这些Command结构存储在字典中:

private Dictionary<string, Command> _commandMap;

如何定义字典,以便为Command正确设置其值类型?还是我的整体方法错误?

1 个答案:

答案 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;