public static IPatternBuilder Resolve(PatternBuilderConfig options) { patternType = options.PatternType; targetLanguage = options.TargetLanguage; IPatternBuilder retval = ResolveBuilder(); retval.Initialize(options); return retval; }
public static List<IPatternTemplate> Resolve(string className, PatternBuilderConfig options) { patternType = options.PatternType; targetLanguage = options.TargetLanguage; List<IPatternTemplate> templates = new List<IPatternTemplate>(); templates.AddRange(ResolvePatternTemplates()); // Now get the template generators templates.ForEach(template => { template.ClassName = className; template.NameSpace = options.ProjectNamespace; template.Methods = options.MethodStructures.ContainsKey(className) ? options.MethodStructures[className] : new List<MethodStruct>(); template.ReturnType = className; template.TargetLanguage = options.TargetLanguage; }); return templates; }
// This is a positional argument public UseWithPatternAttribute(PatternBuilderTypeCode patternType) { this.typeCode = patternType; // TODO: Implement code here }