public static ClassBuilder Get(string className) { if (string.IsNullOrWhiteSpace(className)) { return(null); } ClassBuilder cb; if (AllClasses.TryGetValue(className, out cb)) { return(cb); } if (!AddToDictionary) { className = className.Split(new char[] { '.' }).Last(); foreach (var kv in AllClasses) { string key = kv.Key.Split(new char[] { '.' }).Last(); if (key == className) { return(kv.Value); } } return(null); } cb = new ClassBuilder(className); AllClasses[className] = cb; return(cb); }