/// <summary> /// Creates a new extracted type collection from the given package /// </summary> /// <param name="package">the package</param> /// <param name="settings">The settings</param> public ExtractedTypeCollection(ScriptPackage package, ProcessorSettings settings) { settings = settings ?? new ProcessorSettings(); _typeTable = new TypeTable(package, settings); foreach (INamedType controllerType in package.MvcControllers) { MvcControllerInfo controllerInfo = new MvcControllerInfo(controllerType, settings.MvcActionFilter, _typeTable); if (controllerInfo.Actions.Count > 0) { _controllers.Add(controllerInfo); } } }
private void Compile(ScriptPackage package, ProcessorSettings settings) { foreach (INamedType type in package.NamedTypes) { string metadataName = type.ConstructedFromType.FullName; if (type.Flags.IsInterface) // Interface { _extractedTypes.Add(metadataName, new ExtractedInterfaceType(type, settings.TypeNamespace, this)); } else if (type.Flags.IsEnum) { _extractedTypes.Add( metadataName, new ExtractedEnumType(type, settings.EnumNamespace, settings.DisplayNameFilter) ); } else // class { _extractedTypes.Add(metadataName, new ExtractedClassType(type, settings.TypeNamespace, this)); } } }
public TypeFactory(ProcessorSettings settings) { Settings = settings; }
public TypeTable(ScriptPackage package, ProcessorSettings settings) { Compile(package, settings); }
/// <summary> /// Creates a new extracted type collection from the given package /// </summary> /// <param name="settings">The settings</param> public ExtractedTypeCollection(ProcessorSettings settings) { _typeFactory = new TypeFactory(settings); }