public Type[] GetChildrenTypes() { ArrayBuilder oTypes = new ArrayBuilder(); foreach (EntityChildrenListInfo oData in AllChildren) { oTypes.AddIfNotExists(oData.ChildType); } return((Type[])oTypes.GetArray(typeof(Type))); }
// // Private // private static Type[] GetTypes(ICollection FieldInfoCollection) { ArrayBuilder oTypes = new ArrayBuilder(); foreach (FieldInfo oInfo in FieldInfoCollection) { oTypes.AddIfNotExists(oInfo.FieldType); } return((Type[])oTypes.GetArray(typeof(Type))); }
public static string[] FindFiles(string sRootDir, string sSearchPattern) { DirectoryInfo RootDirInfo = new DirectoryInfo(sRootDir); FileInfo[] fis = RootDirInfo.GetFiles(sSearchPattern); ArrayBuilder oArrayBuilder = new ArrayBuilder(typeof(string)); foreach (FileInfo fi in fis) { oArrayBuilder.AddIfNotExists(fi.FullName); } return((string[])oArrayBuilder.GetArray()); }
public void PrecompileRules(Rule[] Rules) { if (Rules == null) { ExceptionUtil.RaiseArgumentNullException( "Rules", "Can't be null", System.Reflection.MethodInfo.GetCurrentMethod()); } lock (this) { ArrayBuilder oRulesToCompile = new ArrayBuilder(); // Filter out rules that are already in cache and // redundant rules foreach (Rule oRule in Rules) { if (GetStrongTypedRuleFromCache(oRule) != null) { // Already compiled continue; } oRulesToCompile.AddIfNotExists(oRule); } Rule[] RulesToCompile = (Rule[])oRulesToCompile.GetArray( typeof(Rule)); StrongTypeRulesBase[] StrongTypedRules = m_oStrongTypedRuleBuilder.CreateNewRules(RulesToCompile); for (int i = 0; i < RulesToCompile.Length; i++) { Rule oRule = RulesToCompile[i]; StrongTypeRulesBase oStrongTypedRule = StrongTypedRules[i]; AddStrongTypedRuleToCache( oRule, oStrongTypedRule); } } }
public static void GetAssemblyLocation( Assembly oRootAssembly, ArrayBuilder oAssemblyList, AssemblyName[] SystemAssemblies, bool bCustomOnly, bool bWithDependencies, bool includeRootAssembly = true, CustomAssemblyResolver assemblyResolver = null) { if (assemblyResolver != null) { AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(assemblyResolver.AssemblyResolveHandler); } try { if (!bCustomOnly || IsCustomAssembly( SystemAssemblies, oRootAssembly.GetName())) { if (includeRootAssembly) { oAssemblyList.AddIfNotExists(oRootAssembly.Location); } if (bWithDependencies) { AssemblyName[] Dependencies = oRootAssembly.GetReferencedAssemblies(); foreach (AssemblyName oAssemblyName in Dependencies) { try { if (!bCustomOnly || IsCustomAssembly( SystemAssemblies, oAssemblyName)) { Assembly oDependentAssembly = Assembly.Load(oAssemblyName); // Check for circullar references if (!oAssemblyList.Contains(oDependentAssembly.Location)) { GetAssemblyLocation(oDependentAssembly, oAssemblyList, SystemAssemblies, bCustomOnly, bWithDependencies, true, assemblyResolver); } } } catch (Exception oExc) { Log.WriteException(oExc); } } } } } finally { if (assemblyResolver != null) { AppDomain.CurrentDomain.AssemblyResolve -= new ResolveEventHandler(assemblyResolver.AssemblyResolveHandler); } } }