zoukankan      html  css  js  c++  java
  • c#反射泛型方法

    private void GetByEnumType()
    {
    var EnumType = Context.Request["EnumType"] ?? "";
    var clsType = typeof(Utility.Util);
    Type genericType = Activator.CreateInstance(EnumType.Split('|')[0], EnumType.Split('|')[1]).GetType();// Assembly.Load("AssetsContract, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null");
    Type t = Assembly.Load(EnumType.Split('|')[0]).GetTypes().FirstOrDefault(x => x.FullName == EnumType.Split('|')[1]);
    //Activator.CreateInstance(EnumType.Split('|')[0],EnumType.Split('|')[1])
    MethodInfo meth = clsType.GetMethod("GetEnumDataSource", BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static).MakeGenericMethod(t);
    var Source = meth.Invoke(Activator.CreateInstance(clsType), new object[] { });
    var list = new ArrayList();
    foreach (var item in (dynamic)Source)
    {
    var obj = new { EnumValue = item.IntValue, EnumName = item.DisplayValue.ToString(), EnumCode = item.Value.ToString() };
    list.Add(obj);
    }
    Context.Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(list));
    Context.Response.End();

    }

  • 相关阅读:
    jquery动画效果---animate()--滚屏
    一个前端的自我修养
    开发和测试
    jquery.find()
    c99和c++11的差异之一
    容器经典图
    C/C++中的##用法
    【心学.悟道】千圣皆过影,良知乃吾师
    memcpy, memset代码改写的方式
    三大软件原则
  • 原文地址:https://www.cnblogs.com/kexb/p/5806429.html
Copyright © 2011-2022 走看看