如何动态创建类中的变量

盛代 2015-05-27 11:54:18
类结构如下:
public class myclass
{
public string a {get;set;}
public string b {get;set;}
public string c {get;set;}
public string d {get;set;}
public static IList<myclass> myIlist(string array)//array传值:b,c
{
string[] arr = array.Splist(new char[] {','})
IList<myclass> bk = new List<myclass>();
myclass cit = new myclass();
cit.b = "值一";
cit.c = "值二";
bk.Add(cit);
return bk;
}
}
Ilist返回的每一条数据中都会包含:a、b、c、d四个字段的值,如何才能让Ilist每一条数据都只有b、c二个字段呢?
...全文
201 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
盛代 2015-05-27
  • 打赏
  • 举报
回复
这个就说到点子上了哟,问题其实就是myclass类中多少个属性、每个属性名称是否可以动态添加或删除或创建 只要可以动态创建那么返回的结果自然得到想要的了
龙宜坡 2015-05-27
  • 打赏
  • 举报
回复

public static IList<myclass> myIlist(string array)
你这个方法的签名已经限制了这个方法只能返回myclass对象集合,而myclass类中你定义了4个属性,所以,不改这个方法签名没办法实现,不然,定义这个类的意义在哪里?
Poopaye 2015-05-27
  • 打赏
  • 举报
回复
那你返回个Dictionary不就好了
盛代 2015-05-27
  • 打赏
  • 举报
回复
就是只想返回指定的2(或N个)属性啦,因为类中的总属性可能会有几十个,有用没用全部都返回去,页面会加载一大堆null属性影响效率及页面加载速度
  • 打赏
  • 举报
回复
你这个myclass已经是四个属性了,怎么可能会只有2个属性 要不你在调完方法后再Select(x=>new{x.B,x.C})
盛代 2015-05-27
  • 打赏
  • 举报
回复
传过来的array是不固定的,可能是2个也可能是N个,调用它的程序必需要返回Ilist结构,不然改动太大
於黾 2015-05-27
  • 打赏
  • 举报
回复
那你别返回IList<myclass>啊 再定义个子类,里面只有2个字段,给它赋值,然后返回

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧