Example #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));
        }
Example #2
0
        public Type GetType(string typeName = default)
        {
            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));
        }
Example #3
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;
        }
Example #4
0
 /// <summary>
 /// 直接添加一个合法的类/接口/结构体/枚举
 /// </summary>
 /// <param name="script">脚本代码</param>
 /// <returns></returns>
 public CompilationException AddScript(string script)
 {
     return(Options.Add(script));
 }