Board logo

标题: .net的反射机制(4) [打印本页]

作者: look_w    时间: 2019-4-16 19:15     标题: .net的反射机制(4)

但我们并没有(直接)调用程序集中的函数,这就是反射的作用。模拟出程序集中的函数实现。


点击



结果:






。。。。等等

遍历了程序集中的所有方法和属性。也就是说通过反射我们能知道程序集里有什么方法函数和属性。



3.通过复杂的例子理解更多反射的用法,语法


解决方案构造方法与简单例子类似。

直接上代码,以后用到相关语法的时候可以学习着写:


类库中的代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace Models
    {
        public class User
        {
            /// <summary>
            /// 字段
            /// </summary>
            public string Field;
     
            private int age;
            /// <summary>
            /// 属性:年龄
            /// </summary>
            public int Age
            {
                get { return age; }
                set { age = value; }
            }
     
            private string name;
            /// <summary>
            /// 属性:名称
            /// </summary>
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
     
            /// <summary>
            /// 无参数构造函数
            /// </summary>
            public User()
            {
                this.name = "调用了无参数的构造函数";
            }
     
            /// <summary>
            /// 带参构造函数
            /// </summary>
            public User(string name)
            {
                this.Name = name;
               // this.Age = age;
            }
     
            /// <summary>
            /// public方法  
            /// </summary>
            public string PublicClassMethod()
            {
                return string.Format("您反射了一个Public方法");
            }
     
            /// <summary>
            /// private方法
            /// </summary>
            private string PrivateClassMethod()
            {
                return string.Format("您反射了一个Private方法");
            }
     
            /// <summary>
            /// static方法
            /// </summary>
            public static string StaticMethod()
            {
                return "您反射了一个Static方法";
            }
     
            /// <summary>
            /// 无带参方法
            /// </summary>
            public string Show1()
            {
                return string.Format("我的名字叫:{0},今年{1}岁了!", this.Name, this.Age);
            }
     
            /// <summary>
            /// 带参方法
            /// </summary>
            public string Show(string aihao)
            {
                return string.Format("大家好,我的爱好是:{0}!", aihao);
            }
     
            /// <summary>
            /// 自定义事件类型
            /// </summary>
            public event EventHandler eventHandler;
     
            /// <summary>
            /// 处理事件
            /// </summary>
            public void DoEvent()
            {
                eventHandler(null, EventArgs.Empty);
            }
        }
    }




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0