gpt4 book ai didi

c# - 声明有界类型的泛型字典

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

我需要声明一个 Dictionary,它有一个 Type 作为键,一个实例作为值。

我需要将键类型限制为特定的类层次结构。

对于 Java map ,我可以这样做:

Map<Class<? extends MySuperClass>, ? extends MySuperClass>

我如何在 C# 中实现这一点?

最佳答案

不要直接暴露Dictionary,这样你可以手动控制何时添加

public void AddToDictionary(Type key, object value)
{
if(!key.IsAssignableFrom(typeof(SomeBaseClass))
throw new ArgumentException("Must be an inherited from SomeBaseClass type");
dictionary.Add(key, value);
}

关于c# - 声明有界类型的泛型字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31141508/

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