/// <summary> /// Initializes a new instance of the <see cref="ExpressionParserCore"/> class. /// </summary> /// <param name="spResult">The sp result.</param> /// <param name="delegateType">Type of the delegate.</param> /// <param name="namespaces">The namespaces.</param> public ExpressionParserCore(SymbolParseResult spResult, Type delegateType, IEnumerable <string> namespaces = null, IEnumerable <Assembly> assemblies = null) { this.spResult = spResult; this.typeParser = new TypeParser(ref this.spResult); typeParser.SetNamespaces(namespaces); typeParser.SetAssemblies(assemblies); var method = delegateType.GetMethod("Invoke"); parameterTypes = method.GetParameters().Select(p => p.ParameterType).ToArray(); returnType = method.ReturnType; }
/// <summary> /// Initializes a new instance of the <see cref="TypeParser"/> class. /// </summary> /// <param name="spResult">The symbol parse result.</param> internal TypeParser(ref SymbolParseResult spResult) { this.spResult = spResult; }
/// <summary> /// 解析字符串为类型 /// </summary> /// <returns>读取的类型</returns> public Type Resolve(string typeString) { spResult = SymbolParser.Build(typeString); return(ReadType()); }