Bamboo.Prevalence.VersionMigration.Script.SetUp C# (CSharp) Метод

SetUp() приватный Метод

private SetUp ( string className, MigrationContext context ) : void
className string
context MigrationContext
Результат void
		internal void SetUp(string className, MigrationContext context)
		{	
			CodeNamespace ns = new CodeNamespace("__MigrationPlan__");
			foreach (ScriptImport si in _imports)
			{
				ns.Imports.Add(new CodeNamespaceImport(si.Namespace));
			}
			
			ns.Types.Add(GetTypeDeclaration(className));
			
			CodeCompileUnit unit = new CodeCompileUnit();
			unit.Namespaces.Add(ns);
			
			CompilerResults results = Compile(context, unit);
			if (0 == results.Errors.Count)
			{
				context.Trace("script compiled successfully.");
				Assembly assembly = results.CompiledAssembly;
				Type type = assembly.GetType(string.Format("__MigrationPlan__.{0}", className), true);
				Activator.CreateInstance(type, new object[] { context });
			}
			else
			{
				context.Trace("{0} script compilation error(s)!", results.Errors.Count);
				foreach (CompilerError error in results.Errors)
				{
					context.Trace(error.ToString());
				}
				throw new ApplicationException(results.Errors[0].ToString());
			}
		}