public static void Initialize(Stream configuration)
        {
            Lock();
            try
            {
                LoadConfiguration(configuration);

                if (Binder == null)
                {
                    Binder = new DefaultBinder();
                }

                if (Activator == null)
                {
                    Activator = new DefaultActivator();
                }

                InitializeSettingItems();
                RegisterOperators();

                if (ScopeFactory == null)
                {
                    ScopeFactory = Activator.CreateInstance(GetNativeType(GetSettingsItem <string>(ConfigSchema.ScopeFactoryAttribute))) as IScopeFactory;
                }
                RegisterScopes();

                if (AssemblyManager == null)
                {
                    AssemblyManager = new DefaultAssemblyManager();
                }
                OnInitializingTypes(AssemblyManager);
                AssemblyManager.Initialize(Configuration);

                if (!string.IsNullOrEmpty(Configuration.Initialization))
                {
                    InitializationScript = Script.Compile(Configuration.Initialization);
                }

                RegisterOperatorHandler("+=", new EventOperatorHandler(true));
                RegisterOperatorHandler("-=", new EventOperatorHandler(false));

                ScriptNET.Ast.ScriptExpr.HandleOperator += HandleOperator;
            }
            finally
            {
                UnLock();
            }
        }
 public static void AddType(string alias, Type type)
 {
     AssemblyManager.AddType(alias, type);
 }
 public static bool HasType(string name)
 {
     return(AssemblyManager.HasType(name));
 }
 public static Type GetType(string name)
 {
     return(AssemblyManager.GetType(name));
 }