首页 新闻 会员 周边

在构造器中传入接口类型的参数,在main 函数中怎样实现,求解?

0
[已解决问题] 解决于 2017-09-20 08:25

public class CircularList<T> : IList<T>, IList, ICollection<T>, ICollection
{

  public CircularList(ICollection<T> collection)
  {
    int bufCount = collection.Count;
    AliveCount = bufCount;

    if (bufCount < 8)

    { bufCount = 8; }  

    BufCount = bufCount;
    QArray = new T[bufCount];
    collection.CopyTo(QArray, 0);
  }

}

A&Z的主页 A&Z | 菜鸟二级 | 园豆:202
提问于:2017-09-19 15:42
< >
分享
最佳答案
0

var rawType=typeof(CircularList<>);

var genericType=rawType.MakeGenericType(typeof(string));

Activator.CreateInstance(genericType,{your instace here});

构造函数中的collection也如法炮制带到上面的CreateInstance中,外边套个字典做下cache减轻反射负面影响。

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10424 | 2017-09-19 19:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册