C#反射ダイナミック呼び出しdllのメソッド

2720 ワード

//     (dll    ),  Assembly    
            Assembly assembly = Assembly.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "Bin/XX.Common.dll");

            //    ,  (    .  )   
            Type type = assembly.GetType("XX.Common.Utility");

            //        ,object  ,  (    .  )   
            object instance = assembly.CreateInstance("XX.Common.Utility");

            //  MD5        ,Type[]  ;               
            Type[] params_type = new Type[1];
            params_type[0] = Type.GetType("System.String");
            //  MD5       ;               
            Object[] params_obj = new Object[1];
            params_obj[0] = "jiaopeng";

            //  MD5     
            object value = type.GetMethod("MD5", params_type).Invoke(instance, params_obj); //      :123272407f10efbb72b93d92d88d77d4