예제 #1
0
        private static List<Class> GetPossibleClasses(string className, string @namespace, string tableSchema, ParseResults results)
        {
            if (className.Contains(","))
                className = className.Substring(0, className.IndexOf(","));

            if (className.Contains("."))
            {
                @namespace = className.Substring(0, className.LastIndexOf("."));
                className = className.Substring(className.LastIndexOf(".") + 1);
            }
            //if (string.IsNullOrEmpty(@namespace))
            //    return null;

            // Attempt to find namespace
            var possibleClasses = results.GetClassesInNamespace(@namespace);

            if (possibleClasses.Count() == 0)
                possibleClasses = results.GetClassesInNamespace(string.Format("{0}.{1}", @namespace, tableSchema));

            //if (possibleClasses.Count() == 0)
            //{
            //    var bruteCheckClasses = results.GetAllClasses();

            //    if (bruteCheckClasses.Where(c => c.Name == className).Count() == 1)
            //        possibleClasses = bruteCheckClasses;
            //}
            // Attempt to find class
            List<Class> possibles = possibleClasses.Where(c => c.Name == className).ToList();
            return possibles;
        }