public SingleFactory(ProjectionOptions options) : base(options) { var name = GenerateAssemblyName(NamePrefix, NameSuffixLength); assembly = CreateProjectionAssembly(name); }
protected ProjectionAssembly CreateProjectionAssembly(string name) { var assembly = new ProjectionAssembly(name, options); if (0 != (options & ProjectionOptions.SaveAssemblies)) unsaved.Enqueue(assembly); return assembly; }
public override ProjectionAssembly GetAssembly(Type type) { if (count == 0 || count >= limit) { var name = GenerateAssemblyName(NamePrefix, NameSuffixLength); module = CreateProjectionAssembly(name); count = 1; } return module; }