c# - List<T> 定义为类的成员

标签 c#

我有一个列表,我希望类型由调用定义,例如在我想要的类中

public class ClassName
{
    public ListType<T> ListName { get; set; }
    // other class items
}

然后使用什么来设置类类型

var className = new ClassName()
{
    ListType<int> = data
};

所以基本上这就是我想要的,我让它使用动态工作,所以类是

public class ClassName
{
    public ListType<dynamic> ListName { get; set; }
    // other class items
}

电话是

var className = new ClassName()
{
    ListType<dynamic> = data
};

这可行,但我想知道是否有更好的方法来做到这一点,这样我就不必使用动态

哦差点忘了提到ListType是

public class ListType<T> : List<T>
{
}

因此不会因传递不同类型而失败

谢谢

编辑: 意识到我对堆栈溢出的代码的使用与我的代码不同

ListType 有一个带有 3 个参数的构造函数,因此用法更多

var className = new ClassName()
{
    ListName = new ListType<Type>(x, y, z)
}

最佳答案

怎么样

public class ClassName<T>
{
    public ListType<T> ListName { get; set; }
    // other class items
}

然后像这样使用它:

var className = new ClassName<int>()
{
    ListName = data;
};

关于c# - List<T> 定义为类的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4058875/

相关文章:

c# - HttpClient 静态与新

c# - 区分用于引用对象的类型及其后备存储的类型

c# - 没有 Bootstrap 的 Blazor Material

c# - 如何在 Bing Ads Api 中获取授权码以进行长期身份验证

c# - 在 JSQMessagesViewController 中显示 LocationMediaItem

c# - XmlDocument 不保存字符实体

c# - 添加迁移失败,因为未安装 EntityFrameworkCore.Tools

c# - 在多线程应用程序中使用 Random 的正确方法

c# - 如何从同一个解决方案中读取另一个项目的配置值?

c# - LuaInterface:如何访问多维lua表?