diff --git a/Il2CppInspector/Reflection/MethodInfo.cs b/Il2CppInspector/Reflection/MethodInfo.cs index e16ad91..37efd53 100644 --- a/Il2CppInspector/Reflection/MethodInfo.cs +++ b/Il2CppInspector/Reflection/MethodInfo.cs @@ -30,5 +30,8 @@ namespace Il2CppInspector.Reflection // TODO: Generic arguments (and on ConstructorInfo) public override string ToString() => ReturnType.Name + " " + Name + "(" + string.Join(", ", DeclaredParameters.Select(x => x.ParameterType.Name)) + ")"; + + public string GetSignatureString() => ReturnParameter.GetSignatureString() + " " + Name + GetTypeParametersString() + + "(" + string.Join(",", DeclaredParameters.Select(x => x.GetSignatureString())) + ")"; } } \ No newline at end of file diff --git a/Il2CppInspector/Reflection/ParameterInfo.cs b/Il2CppInspector/Reflection/ParameterInfo.cs index ab04f21..d503e41 100644 --- a/Il2CppInspector/Reflection/ParameterInfo.cs +++ b/Il2CppInspector/Reflection/ParameterInfo.cs @@ -92,12 +92,14 @@ namespace Il2CppInspector.Reflection + (IsByRef? "ref " : "") + (IsOut? "out " : ""); + private string getCSharpSignatureString() => $"{GetModifierString()}{ParameterType.CSharpName}"; + public string GetSignatureString() => $"{GetModifierString()}{ParameterType.FullName}"; + public string GetParameterString() => IsRetval? null : $"{CustomAttributes.ToString(inline: true).Replace("[ParamArray]", "params")}" - + $"{GetModifierString()}{ParameterType.CSharpName} {Name}" + + $"{getCSharpSignatureString()} {Name}" + (HasDefaultValue ? " = " + DefaultValue.ToCSharpValue() : ""); - public string GetReturnParameterString() => !IsRetval? null : - $"{GetModifierString()}{ParameterType.CSharpName}"; + public string GetReturnParameterString() => !IsRetval? null : getCSharpSignatureString(); } } \ No newline at end of file