Пример #1
0
        private TMigrationType GetMigrationInstance(Type type)
        {
            ConstructorInfo constructor = type.GetConstructors()[0];

            if (constructor != null)
            {
                object[] args = constructor
                                .GetParameters()
                                .Select(o => o.ParameterType)
                                .Select(o => _containerProvider.GetInstance(o))
                                .ToArray();

                return(Activator.CreateInstance(type, args) as TMigrationType);
            }

            return(Activator.CreateInstance(type) as TMigrationType);
        }
Пример #2
0
 /// <summary>
 /// 获取实例对象
 /// </summary>
 /// <typeparam name="T">类型</typeparam>
 /// <returns></returns>
 public static T GetInstance <T>()
 {
     CheckContainerProviderNotNull();
     return(staticIContainerProvider.GetInstance <T>());
 }