• C# 通过反射获取扩展方法


    注意,扩展方法本质上是静态方法,所以拿到MethodInfo时,应该这么调用 methodInfo.Invoke(null, new object[]{params})

     1 static IEnumerable<MethodInfo> GetExtensionMethods(Assembly assembly, Type extendedType)
     2         {
     3             var query = from type in assembly.GetTypes()
     4                         where !type.IsGenericType && !type.IsNested
     5                         from method in type.GetMethods(BindingFlags.Static
     6                             | BindingFlags.Public | BindingFlags.NonPublic)
     7                         where method.IsDefined(typeof(System.Runtime.CompilerServices.ExtensionAttribute), false)
     8                         where method.GetParameters()[0].ParameterType == extendedType
     9                         select method;
    10             return query;
    11         }
  • 相关阅读:
    nodejs ---day01
    面向对象
    面向对象
    面向对象
    webpack
    webpack
    webpack
    模块化 (ESM) --- day02
    模块化 --- day01
    轮播图(淡入淡出切换)
  • 原文地址:https://www.cnblogs.com/junejs/p/4786342.html
Copyright © 2020-2023  润新知