相关疑难解决方法(0)

通用类型的集合

如果我有一个泛型类:

public class MyClass<T> 
{
  public T Value;
}
Run Code Online (Sandbox Code Playgroud)

我想实例化几个项目,如...

new MyClass<string>
new MyClass<int>
Run Code Online (Sandbox Code Playgroud)

...并将它们添加到集合中.如何定义集合以便它可以包含泛型类型列表?然后我想在某个时刻迭代集合,并使用Value属性.可能?

.net c# generics

31
推荐指数
2
解决办法
1万
查看次数

不同的Generics T在同一个系列中

public abstract Column<T>
{
   private T Value {get;set;}    

   public abstract string Format();

}

public class DateColumn : Column<DateTime>
{
   public override string Format()
   {
      return Value.ToString("dd-MMM-yyyy");
   }
}

public class NumberColumn : Column<decimal>
{
   public override string Format()
   {
      return Value.ToString();
   }
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是将这些添加到通用集合中.我知道它可能,但我怎样才能在集合中存储多种类型等

IList<Column<?>> columns = new List<Column<?>()
Run Code Online (Sandbox Code Playgroud)

我真的很感激有关实现这一目标的任何建议.目标是将不同的列类型存储在同一个List中.值得一提的是我使用NHibernate和鉴别器来加载适当的对象.最后,Value需要具有类的类型.

非常感谢您的帮助.

c# generics

9
推荐指数
1
解决办法
8527
查看次数

在C#中创建复合通用子类型的通用列表

我实现了以下分层数据结构:Tree <T>→Branch <T>→T.

更新:很多人问:为什么不使用对象代替<T>(或<dynamic>或其他)?所以我修改了我的问题来陈述我的"约束".开始了...

这是一个例子Tree:

*
??Negative
? ??-2
??0
? ??0
??Positive
? ??2
? ??12
? ??2147483647

*
??Spring
? ??Mar
? ??Apr
? ??May
??Summer
? ??Jun
? ??Jul
? ??Aug
??Fall
? ??Sep
? ??Oct
? ??Nov
??Winter
? ??Dec
? ??Jan
? ??Feb
Run Code Online (Sandbox Code Playgroud)

在C#中实现:

public class Tree<T>
{
    public readonly List<Branch<T>> Branches = new List<Branch<T>>();
}

public class Branch<T>
{
    public readonly List<T> Leaves = new List<T>();
    public string Name { …
Run Code Online (Sandbox Code Playgroud)

c# generics

7
推荐指数
1
解决办法
2038
查看次数

标签 统计

c# ×3

generics ×3

.net ×1