我可以创建一个 List> 吗?

2023-11-26

我有课

public class Setting<T>
{
    public string name { get; set; }

    public T value { get; set; }
}

现在我想创建一个IList<Setting<T>>但对于不同类型的Setting<T>里面有 T,我想要 e.G.

List<Setting<T>> settingsList;
settingsList.Add(new Setting<int>());
settingsList.Add(new Setting<string>()); 

我试过了IList<Setting<T>>但这似乎不可能,因为编译器找不到类型T.

我知道我可以使用对象,但我希望它是强类型的。所以我的问题是是否有可能让它发挥作用。


默认情况下,泛型类型在具体定义中没有通用类型或接口。

有你的Setting<T>类实现一个接口(或从公共类派生)并创建该接口(或类)的列表。

public interface ISetting { }

public class Setting<T> : ISetting
{
    // ...
}

// example usage:
IList<ISetting> list = new List<ISetting>
{
    new Setting<int> { name = "foo", value = 2 },
    new Setting<string> { name = "bar", value "baz" },
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我可以创建一个 List> 吗? 的相关文章

随机推荐