public static List<Type> GetInfoFromDll(Type[] currentTypes)
{
List<Type> findTypes = new List<Type>();
Dictionary<string, List<FieldItem>> fileds = new Dictionary<string, List<FieldItem>>();
foreach (var currentType in currentTypes)
{
#region 加载类型
var assembyle = System.Reflection.Assembly.GetAssembly(currentType);
Type[] types = assembyle.GetTypes();
var typeCRL = typeof(CRL.IModel);
foreach (var type in types)
{
if (type.IsClass)
{
var type1 = type.BaseType;
while (type1 != null)
{
if (type1.BaseType == typeCRL || type1.FullName == typeCRL.FullName)
{
findTypes.Add(type);
break;
}
type1 = type1.BaseType;
}
}
}
#endregion
}
return findTypes.OrderBy(b => b.Name).ToList();
}