public static UnifiedProgramGenerator GetProgramGeneratorByExtension( string ext) { var lowerExt = NormalizeExtension(ext); return(ProgramGenerators .FirstOrDefault( gen => gen.Extensions .Select(e => e.ToLower()) .Contains(lowerExt))); }
public static UnifiedProgramGenerator GetProgramGeneratorByClassName( string className) { var lowerName = className.ToLower(); return(ProgramGenerators .Where( gen => gen.GetType().Name.ToLower().Contains(lowerName)) .MinElementOrDefault( gen => Math.Abs( gen.GetType().Name.Length - className.Length))); }