zoukankan      html  css  js  c++  java
  • C#之反射动态获取类中成员

    初始接触反射概念,往下看。

    先建一个类User

    代码
    namespace ClassLibrary1
    {
    public class User
    {
    private int userid = 1;
    /// <summary>
    ///
    /// </summary>
    public int Userid
    {
    get { return userid; }
    set { userid = value; }
    }



    private string userName = "jghg";
    /// <summary>
    ///
    /// </summary>
    public string UserName
    {
    get { return userName; }
    set { userName = value; }
    }
    private string address = "ghjghj";
    /// <summary>
    ///
    /// </summary>
    public string Address
    {
    get { return address; }
    set { address = value; }
    }
    private string email = "jhgjhg";
    /// <summary>
    ///
    /// </summary>
    public string Email
    {
    get { return email; }
    set { email = value; }
    }
    private string phone = "ghjgjg";
    /// <summary>
    ///
    /// </summary>
    public string Phone
    {
    get { return phone; }
    set { phone = value; }
    }
    }
    }
    接着在主程序中获取类的属性,看代码

    代码
    namespace ConsoleApplication2
    {
    class Program
    {

    static void Main(string[] args)
    {

    Type type
    = typeof(ClassLibrary1.User);
    object obj = Activator.CreateInstance(type);

    PropertyInfo[] props
    = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
    foreach (PropertyInfo p in props)
    {
    Console.WriteLine(p.Name);

    }
    Console.ReadLine();
    }
    }
    }
    分析:

    Type type = typeof(ClassLibrary1.User); //把类转换成Type类型

    PropertyInfo[] props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); //获取类中属性

    foreach (PropertyInfo p in props)  //遍历
    {
    Console.WriteLine(p.Name);

      }

  • 相关阅读:
    eval()函数的使用
    Ajax的GET,POST方法传输数据和接收返回数据
    使用目录
    安装目录
    c 文件输入和输出
    【C++王桂林】
    【C++】虚函数表vtable理解
    【C++】内存管理内幕阅读笔记
    git提交中的索引错误问题
    pydicom编辑、删除DICOM文件中病人相关信息
  • 原文地址:https://www.cnblogs.com/JinvidLiang/p/1871733.html
Copyright © 2011-2022 走看看