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