gpt4 book ai didi

c# - 字典 - 使用类型作为键并将其限制为仅适用于某些类型

转载 作者:行者123 更新时间:2023-11-30 13:45:41 25 4
gpt4 key购买 nike

如果我们使用类型作为字典的键,是否有可能将该类型限制为特定类型?例如:

public abstract class Base
{ }

public class InheritedObject1 : Base
{ }

public class InheritedObject2 : Base
{ }

public class Program
{
public Dictionary<Type, string> myDictionary = new Dictionary<Type, string>();
}

因此,例如,从上面给出的代码中,我只想将 Type 限制为:Base 以及从它继承的每个类。是否可以做这样的约束?

最佳答案

只需创建一个继承自 Dictionary 的模板类,如下所示:

class CustomDictionary<T> : Dictionary<T, string>
where T : Base
{
}

然后您可以根据需要在您的代码中使用它:

    public void Test()
{
CustomDictionary<InheritedObject1> Dict = new CustomDictionary<InheritedObject1>();

Dict.Add(new InheritedObject1(), "value1");
Dict.Add(new InheritedObject1(), "value2");
}

关于c# - 字典 - 使用类型作为键并将其限制为仅适用于某些类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27795436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com