Beispiel #1
0
        public Type GetType(string typeName = default)
        {
            AssemblyComplier complier = new AssemblyComplier();

            complier.ComplieInFile = _complieInFile;
            complier.Domain        = _domain;
            var text = _operator
                       .GetUsingBuilder()
                       .Append(_operator.OopContentScript)
                       .ToString();

            if (typeName == default)
            {
                typeName = ScriptHelper.GetClassName(text);
                if (typeName == default)
                {
                    typeName = ScriptHelper.GetInterfaceName(text);
                    if (typeName == default)
                    {
                        typeName = ScriptHelper.GetStructName(text);
                        if (typeName == default)
                        {
                            typeName = ScriptHelper.GetEnumName(text);
                        }
                    }
                }
            }
            complier.Add(text);
            return(complier.GetType(typeName));
        }
Beispiel #2
0
 public NAssembly()
 {
     _builderCache = new HashSet <IScript>();
     TypeCache     = new ConcurrentDictionary <string, Type>();
     Options       = new AssemblyComplier();
     HasChecked    = false;
 }
Beispiel #3
0
 public NAssembly()
 {
     _builderCache = new HashSet <IScript>();
     Options       = new AssemblyComplier();
     HasChecked    = false;
     if (Options.AssemblyName == default)
     {
         Options.AssemblyName = Guid.NewGuid().ToString("N");
     }
 }
Beispiel #4
0
        public static void Deconstruct(
            this string script,
            out Assembly Assembly,
            out Type[] Types,
            out CompilationException Error)
        {
            AssemblyComplier assembly = new AssemblyComplier();

            assembly.Add(script);
            Assembly = assembly.GetAssembly();
            Types    = Assembly.GetTypes();
            Error    = assembly.ComplieException;
        }
Beispiel #5
0
 public DomainOperator()
 {
     _operator = new OopOperator();
     Complier  = new AssemblyComplier();
 }