private static string generateArray(string typeString) { typeString = Regex.Replace(typeString, "(?<type>[^\\[]*)(?<rank>\\[,*\\])", delegate(Match m) { string str = SerializationTypeExtension.generateTypeString(m.Groups["type"].Value); string value = m.Groups["rank"].Value; return(str + value); }); return(typeString); }
private static string generateGenericArguments(string typeString) { string[] separator = new string[1] { ", " }; typeString = Regex.Replace(typeString, "<(?<arg>.*)>", delegate(Match m) { string text = SerializationTypeExtension.generateTypeString(m.Groups["arg"].Value); int num = text.Split(separator, StringSplitOptions.None).Length; return("`" + num + "[" + text + "]"); }); return(typeString); }
public static Type ToType(this string typeString) { string text = SerializationTypeExtension.generateTypeString(typeString); Type type = Type.GetType(text); if (type != null) { return(type); } Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies(); for (int i = 0; i < assemblies.Length; i++) { type = assemblies[i].GetType(text); if (type != null) { return(type); } } return(null); }