使用C#的组件中的ParameterInfo

在本文中,我们将讨论如何使用C#获取组件中的方法中的参数的信息。

如果我们的程序集包含包含任何参数的方法,我们希望获取它们的参数信息,那么我们将使用system.reflection命名空间的parameterinfo类,并且我们将使用getParameters方法获取该方法的参数。
通过使用反射可以实现后期绑定。
例如,在某些应用程序中,我们不知道在编译时加载哪个程序集,因此我们要求用户在运行时输入汇编名称和类型,并且应用程序可以加载程序集。

using System;

using System.Collections.Generic;
using System.Linq;

using System.Text;
using System.Reflection;

namespace reflection

{
  class Program
  {
      static void Main(string[] args)

      {
          Assembly asm = Assembly.LoadFrom(@"D:\meghawebsite\reflassm\reflassm\bin\Debug\reflassm.dll");
          Type[] type = asm.GetTypes();
          foreach (Type t in type)

          {
              if (t.Name == "mycls")
              {
                  MethodInfo[] minfo = t.GetMethods();

                  foreach (MethodInfo m in minfo)
                  {
                      if (m.Name == "show")
                      {

                          ParameterInfo[] pinfo = m.GetParameters();
                          foreach (ParameterInfo p in pinfo)
                          {
                              Console.WriteLine(p.Name);

                              Console.WriteLine(p.ParameterType.ToString());

                          }
                      }

                  }
              }
          }
          Console.ReadLine();

      }
  }
}
日期:2020-04-11 23:03:46 来源:oir作者:oir