类的属性名作为一个参数传递给一个方法,该方法根据传递的参数对该属性赋值,该如何做呢?

ahking 2020-12-28 05:23:31
类的属性名作为一个参数传递给一个方法,该方法根据传递的参数对该属性赋值,该如何做呢?

如类
class claa
{
List<int> p1{ get; set; } ;
List<int> p2{ get; set; } ;
}

void set pp(claa aa, string p)
{
aa.?? ={1,2,2};
}

aa.??怎么直接跟 传递的参数p对应起来,不要使用case之类的方法
...全文
7368 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawn_yang 2021-01-04
  • 打赏
  • 举报
回复
最笨的办法,你对象加两个常量字串,内容为变量名
正怒月神 2021-01-04
  • 打赏
  • 举报
回复
我很好奇,是什么样的功能和需求, 才需要如此诡异的思路。
assky124 2021-01-04
  • 打赏
  • 举报
回复
System.ComponentModel.INotifyPropertyChanged?
可爱的肥皂 2021-01-04
  • 打赏
  • 举报
回复
就是反射吧,更据类名获取类?
肖无疾 2021-01-03
  • 打赏
  • 举报
回复

aa.GetType().GetProperties().Where(a => a.Name == p).Single().SetValue(aa, {1,2,2});
  • 打赏
  • 举报
回复
System.Reflection.PropertyInfo[] properties = aa.GetType().GetProperties(); foreach (System.Reflection.PropertyInfo item in properties) { object name = item.Name; //这里的item.name就是 p1 p2 然后你就可以拿着属性名去和你传入的P进行比较了 } 我不知道你是不是这个意思,如果我理解错了就当我没说
  • 打赏
  • 举报
回复
可以利用反射获取aa对象的属性名也就是获取p1 p2

110,533

社区成员

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

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

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