Add MethodInfo/ParameterInfo GetSignatureString()

This commit is contained in:
Katy Coe
2019-11-09 05:32:59 +01:00
parent 2c912b211d
commit 769dd2079d
2 changed files with 8 additions and 3 deletions

View File

@@ -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())) + ")";
}
}

View File

@@ -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();
}
}