示例#1
0
 private static Type CreateType(IDictionary <ITypeDescription, Type> typeBuildMap,
                                ModuleBuilder modBuilder, ITypeDescription typeInfo)
 {
     return(typeInfo.TryResolveType(t => GetOrCreateType(typeBuildMap, modBuilder, t))
            .Convert(t => AddNativeType(typeInfo, t, typeBuildMap))
            .GetValue(() => AddNoNativeType(typeInfo, typeBuildMap, modBuilder)));
 }
示例#2
0
 private static Type FindType(ITypeDescription typeInfo, Assembly candidateAssembly)
 {
     return(typeInfo.TryResolveType(n => FindType(n, candidateAssembly))
            .Convert(t => t)
            .GetValue(
                () => FindTypeOrArray(typeInfo, candidateAssembly)));
 }
示例#3
0
 private static Type FindTypeOrArray(ITypeDescription typeInfo, Assembly candidateAssembly)
 {
     return(typeInfo.TryResolveType(t => FindType(t, candidateAssembly))
            .GetValue(() => candidateAssembly.GetType(BuildName(typeInfo.TypeName))));
 }
示例#4
0
 private static Type FindTypeOrArray(ITypeDescription typeInfo, Assembly candidateAssembly)
 {
     return typeInfo.TryResolveType(t =>FindType(t,candidateAssembly))
         .GetValue(() => candidateAssembly.GetType(BuildName(typeInfo.TypeName)));
 }
示例#5
0
 private static Type FindType(ITypeDescription typeInfo, Assembly candidateAssembly)
 {
     return typeInfo.TryResolveType(n => FindType(n, candidateAssembly))
         .Convert(t => t)
         .GetValue(
         () => FindTypeOrArray(typeInfo, candidateAssembly));
 }
示例#6
0
 private static Type CreateType(IDictionary<ITypeDescription, Type> typeBuildMap,
     ModuleBuilder modBuilder, ITypeDescription typeInfo)
 {
     return typeInfo.TryResolveType(t=>GetOrCreateType(typeBuildMap, modBuilder, t))
         .Convert(t => AddNativeType(typeInfo, t, typeBuildMap))
         .GetValue(() => AddNoNativeType(typeInfo, typeBuildMap, modBuilder));
 }