zoukankan      html  css  js  c++  java
  • C# 知识点笔记:IEnumerable<>的使用,利用反射动态调用方法

    IEnumerable<T>的使用

    创建一个IEnumerable对象

    List<string> fruits = new List<string> { "apple", "pear", "banana", "orange" }; IEnumerable<string> f = fruits as IEnumerable<string>;

    获取的迭代器一开始指向为空

                //获取Enumerator之后,当前指向为空
                var o = em.Current;
                Console.WriteLine("当前指向是否为空" + (o == null));

    打印           当前指向是否为空True

    使用IEnumerator<string>的MoveNext方法遍历IEnumerable对象

    while (em.MoveNext()) { Console.WriteLine("当前值为" + em.Current); }

     利用反射动态调用方法

    获取类的类型

    方法1:如果已经有对象指针,

    Type personType=p.GetType();

    方法2:从字符串得到类

    Type type=Assembly.Load(path).CreateInstance(path+"."+className).GetType(); //path指命名空间

    调用无参方法

    从方法的字符串得到方法对象

    MethodInfo method = personType.GetMethod("SayHi");

    注意可能需要调用下面的参数

    BindingFlags.NonPublic | BindingFlags.Instance

    获取一个类的对象

    object objPerson = Activator.CreateInstance(personType);

    或者其他形式

    调用

    method.Invoke(objPerson, null);

    详细参考:https://www.cnblogs.com/sxw117886/p/5687590.html

    转自 https://www.cnblogs.com/noigel/p/10429994.html

  • 相关阅读:
    Linux模拟网络延迟、丢包等
    TestLink汉化操作
    onems设备管理系统(TR-069和OMA)
    Installation Guide Ubuntu 16.04
    Configure GenieACS
    Linux下的tar压缩解压缩命令详解
    genieacs Installation on Ubuntu14.04
    Pyqt中富文本编辑器
    安装MongoDB
    到底什么是贝叶斯?
  • 原文地址:https://www.cnblogs.com/zhangxiaoxia/p/11231940.html
Copyright © 2011-2022 走看看