zoukankan      html  css  js  c++  java
  • C#通过属性名称获取(读取)属性值的方法 z

    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);
  • 相关阅读:
    linux 批量替换内容
    在Linux下如何查CC攻击?
    mysql init_connect
    利用javascript对字符串加密
    js学习笔记10----字符串的基本操作
    js学习笔记9----时间操作
    3种方法实现列表自动滚动
    如何解决wow.js与fullpage的兼容性
    js兼容获取元素的样式
    用php去除bom头
  • 原文地址:https://www.cnblogs.com/zeroone/p/6160246.html
Copyright © 2011-2022 走看看