博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#通过属性名称获取(读取)属性值的方法 z
阅读量:6716 次
发布时间:2019-06-25

本文共 1764 字,大约阅读时间需要 5 分钟。

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PropertyNameGetPropertyValueDemo{    class Program    {        static void Main(string[] args)        {            Person ps = new Person();            ps.Name = "CTZ";            ps.Age = 21;            Demo dm = new Demo();            dm.Str = "String";            dm.I = 1;            Console.WriteLine(ps.GetValue("Name"));            Console.WriteLine(ps.GetValue("Age"));            Console.WriteLine(dm.GetValue("Str"));            Console.WriteLine(dm.GetValue("I"));        }    }    abstract class AbstractGetValue    {        public object GetValue(string propertyName)        {            return this.GetType().GetProperty(propertyName).GetValue(this, null);        }    }    class Person : AbstractGetValue      {        public string Name        { get; set; }        public int Age        { get; set; }    }    class Demo : AbstractGetValue    {        public string Str        { get; set; }        public int I        { get; set; }    }}

 简化版

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace GetValue{    class Program    {        static void Main(string[] args)        {            Person ps = new Person();            ps.Name = "CTZ";            ps.Age = 21;            Console.WriteLine(ps.GetValue("Name"));            Console.WriteLine(ps.GetValue("Age"));        }    }    class Person    {        public string Name        { get; set; }        public int Age        { get; set; }        public object GetValue(string propertyName)        {            return this.GetType().GetProperty(propertyName).GetValue(this, null);        }    }}

 实质语句只有一句:

this.GetType().GetProperty(propertyName).GetValue(this, null);

转载地址:http://cakmo.baihongyu.com/

你可能感兴趣的文章
CGAL Catmull-Clark Subdivide Surface
查看>>
赛车入门 -- 专有技术名词
查看>>
接收IWebBrowser2的自动化事件
查看>>
需求入门: 需求工程=需求开发+需求管理
查看>>
androidmanifest.xml权限中文说明
查看>>
matlab练习程序(感知哈希对比图片)
查看>>
多媒体指令(图像灰度化)
查看>>
sqlserver数据库大型应用解决方案总结
查看>>
枚举系统设备
查看>>
C#形参,实参,值传递参数,引用传递参数,输出参数,参数数组的学习
查看>>
在Salesforce中创建Approval Process
查看>>
.NET v2.0 下的高精度计数器 —— Stopwatch [.NET v2.0, C#]
查看>>
Remoting入门实例
查看>>
MongoDB的使用
查看>>
[LeetCode] Meeting Rooms I & II
查看>>
[译]Selenium Python文档:六、页面对象
查看>>
[Windows Azure] How to Scale an Application
查看>>
RC4 in TLS is Broken: Now What?
查看>>
linux下core文件调试方法
查看>>
Tensorflow动态seq2seq使用总结(r1.3)
查看>>