zoukankan      html  css  js  c++  java
  • C#反射中最最最基本的东西

    just look below

    static void Main(string[] args)
    {
    //Model.Person p1 = new Model.Person();
    //Model.Person p2 = new Model.Person();

    //p1.Name = "Bill Gates";
    //p2.Name = "Paul Jobs";

    //p1.Work();
    //p2.Work();

    //Console.WriteLine(p1.WhatIsYourName());
    //Console.WriteLine(p2.WhatIsYourName());



    System.Reflection.Assembly asm
    = System.Reflection.Assembly.LoadFrom(@"c:\users\polaris\documents\visual studio 2010\Projects\ConsoleApplicationReflection\Model\bin\Debug\Model.dll");
    object obj1 = asm.CreateInstance("Model.Person");
    object obj2 = asm.CreateInstance("Model.Person");

    Type type
    = obj1.GetType();

    System.Reflection.PropertyInfo pi;
    pi
    = type.GetProperty("Name");

    pi.SetValue(obj1,
    "Bill Gates", null);
    pi.SetValue(obj2,
    "Paul Jobs", null);


    System.Reflection.MethodInfo mi;
    mi
    = type.GetMethod("Work");
    mi.Invoke(obj1,
    null);
    mi.Invoke(obj2,
    null );

    mi
    = type.GetMethod("WhatIsYourName");
    string val1 = mi.Invoke(obj1, null).ToString();
    string val2 = mi.Invoke(obj2, null).ToString();
    Console.WriteLine(val1);
    Console.WriteLine(val2);
    }

    Model.Person类如下:

    public class Person
    {
    public string Code { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public DateTime Birthday { get; set; }

    public void Work()
    {
    Console.WriteLine(
    "working......");
    }

    public string WhatIsYourName()
    {
    return string.Format( "I'm {0}",this.Name);
    }
    }
  • 相关阅读:
    基本指令
    javascript event(事件对象)详解
    Sass进阶之路,之二(进阶篇)
    Sass进阶之路,之一(基础篇)
    原型链进阶
    数据类型检测
    JavaScript引用类型和值类型
    i.mx6 Android6.0.1分析input子系统:测试
    (三)JNI常用示例
    (二)JNI方法总结
  • 原文地址:https://www.cnblogs.com/cnbwang/p/1940677.html
Copyright © 2011-2022 走看看