C#、Python中分别是怎么实现通过字符串获取实体类的值以及给实体
发布时间:2020-12-15 21:26:36 所属栏目:asp.Net 来源:网络整理
导读:p class="title"一、引入 最近遇到一个项目里面的功能,在给实体类赋值的时候,由于赋值字段是动态生成的,所以如果用常用的方法(直接实体类的名称.字段名=要赋的值),将会生成很多无用的代码,所以找到了一个通过反射的赋值与取值的方法,顺便总结一下,
<p class="title">一、引入 最近遇到一个项目里面的功能,在给实体类赋值的时候,由于赋值字段是动态生成的,所以如果用常用的方法(直接实体类的名称.字段名=要赋的值),将会生成很多无用的代码,所以找到了一个通过反射的赋值与取值的方法,顺便总结一下,以及对比一下与Python语言同样实现该功能的区别之处。
<span style="color: #0000ff">namespace<span style="color: #000000"> ConsoleApplication1
{ <span style="color: #0000ff">class<span style="color: #000000"> Program { <span style="color: #0000ff">static <span style="color: #0000ff">void Main(<span style="color: #0000ff">string<span style="color: #000000">[] args) { <span style="color: #0000ff">#region 通过字符串设置实体类的值 <span style="color: #008000">//<span style="color: #008000">初始化一个实体类 <span style="color: #008000">//<span style="color: #008000">Student model_stu = new Student(); <span style="color: #008000">//<span style="color: #008000">string id_str = "stu_id"; <span style="color: #008000">//<span style="color: #008000">string name_str = "stu_name"; <span style="color: #008000">//<span style="color: #008000">string addr_str = "stu_address"; <span style="color: #008000">//<span style="color: #008000">Type type = model_stu.GetType();<span style="color: #008000">//<span style="color: #008000">获取类型 <span style="color: #008000">//<span style="color: #008000">PropertyInfo property_info_id = type.GetProperty(id_str); <span style="color: #008000">//<span style="color: #008000">PropertyInfo property_info_name = type.GetProperty(name_str); <span style="color: #008000">//<span style="color: #008000">PropertyInfo property_info_addr = type.GetProperty(addr_str);
}
=
self.id = self.name = self.addr =
stu = Student(1,, v_id =
v_name =
v_addr =
(hasattr(stu,v_id))
(hasattr(stu,))
( (getattr(stu,v_id,5))
(getattr(stu,v_name,))
(getattr(stu,,))
( setattr(stu,1000)
setattr(stu,)
setattr(stu,v_addr,)
== main()
<p class="title">四、总结 个人更喜欢Python的处理方式,非常灵活,大爱Python。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC 2预览2:区域重复控制器问题
- asp.net-mvc – MVC最后一次在向用户呈现之前更改响应的机会
- asp.net – 使用ViewComponent的Ajax
- asp.net-mvc – 在您的ViewModel中放置什么
- mvc项目架构分享系列之架构搭建之Repository和Service
- asp.net – 如何避免重置IIS以确保调试器附加*正确* IIS工作
- asp.net-mvc – 如何从AuthorizationContext获取MVC Action
- asp.net-mvc-3 – CopyAllFilesToSingleFolderForPackageDe
- 在ASP.NET Core上实施每个租户策略的数据库
- asp.net-mvc – 如何在版本信息中包含静态内容
推荐文章
站长推荐
热点阅读