zoukankan      html  css  js  c++  java
  • 贴上瘾了

    再贴一个用于在单元测试中访问非public成员的TestHelper(原作者:hbifts),主要用于测试GUI代码。你能猜出我这么说的理由吗?

    public class TestHelper 
       

          
    public static object Create(string assemblyName, string typeName, object[] args) 
          

             Assembly asm 
    = Assembly.Load(assemblyName); 
             Type typeToCreate 
    = asm.GetType(typeName,true,true); 
             
    return Activator.CreateInstance(typeToCreate,args,null); 
          }
     
          
    public static object InvokeMethod(object obj,string methodName,object[] args) 
          

             Type objType 
    = obj.GetType(); 
             Type[] argTypes 
    = new Type[args.Length]; 
             
    for(int i=0;i<args.Length;i++
             

                argTypes[i] 
    = args[i].GetType(); 
             }
     
             MethodInfo method 
    = objType.GetMethod(methodName,BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public,null,argTypes,null); 
             
    return method.Invoke(obj,args); 
          }
     
          
    public static object GetField(object obj, string fieldName) 
          

             Type objType 
    = obj.GetType(); 
             FieldInfo fieldInfo 
    = objType.GetField(fieldName, BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); 
             
    return fieldInfo.GetValue(obj); 
          }
     
       }
     
  • 相关阅读:
    css实现水平/垂直居中效果
    Mac 下用homebrew安装配置MongoDB
    阿里云ECS搭建node/mongodb开发环境及部署
    阿里云首次安装和部署nginx
    前端学习借鉴目录
    040.[转] 对于程序框架的理解
    039.[转] 基于 Kubernetes 和 Spring Cloud 的微服务化实践
    038.[转] JVM启动过程与类加载
    037.[转] springboot 配置多个数据源
    036.[转] JNDI 学习
  • 原文地址:https://www.cnblogs.com/taowen/p/21166.html
Copyright © 2011-2022 走看看