如何在IList <t>中更改属性值

时间:2018-12-31 07:17:32

标签: asp.net-mvc c#-4.0 c#-3.0

 Public class temp()
 {
     int code;
     string name;
  }

  IList<temp> res="assume is has a list of values"

  public void modify<T>(ref Ilist<T> list)
  {
       list[0].code=0;
       list[0].name="";
  }

我遇到错误“列表不包含代码/名称的定义”。有什么办法可以更改IList中的值

1 个答案:

答案 0 :(得分:0)

您当前的示例没有多大意义。

但是一种方法是将方法的泛型类型参数约束为某些接口,例如:

public class Temp : ITemp
{
     // implementation
}

,您的特定类型将通过某些实现来继承

public void modify<T>(ref IList<T> list) where T : ITemp
{
   list[0].code=0;
   list[0].name="";
}

然后您可以编写一个通用方法:

&#61;

但是,只有在具有具有某些公共属性的多个类并且需要通用方法才能对它们进行一些工作时,才应该这样做。