InjectFix
InjectFix copied to clipboard
List<int>[] inject failed
//cecil里的类名表示和.net标准并不一样,这里做些转换 static string GetCecilTypeName(Type type) { if (type.IsByRef && type.GetElementType().IsGenericType) { return GetCecilTypeName(type.GetElementType()) + "&"; } else if (type.IsGenericType) { if (type.IsGenericTypeDefinition) { return type.ToString().Replace('+', '/').Replace('[', '<').Replace(']', '>'); } else { return Regex.Replace(type.ToString().Replace('+', '/'), @"(`\d).+", "$1") + "<" + string.Join(",", type.GetGenericArguments().Select(t => GetCecilTypeName(t)) .ToArray()) + ">"; } } else { if (type.FullName != null) { return type.FullName.Replace('+', '/'); } else { UnityEngine.Debug.LogError("IFix Err :" + type.ToString()); return string.Empty; } } }