public string GetGenericContainerParams(Il2CppGenericContainer genericContainer) { var genericParameterNames = new List <string>(); for (int i = 0; i < genericContainer.type_argc; i++) { var genericParameterIndex = genericContainer.genericParameterStart + i; var genericParameter = metadata.genericParameters[genericParameterIndex]; genericParameterNames.Add(metadata.GetStringFromIndex(genericParameter.nameIndex)); } return($"<{string.Join(", ", genericParameterNames)}>"); }
public string[] GetGenericContainerParamNames(Il2CppGenericContainer genericContainer) { var genericParameterNames = new string[genericContainer.type_argc]; for (int i = 0; i < genericContainer.type_argc; i++) { var genericParameterIndex = genericContainer.genericParameterStart + i; var genericParameter = metadata.genericParameters[genericParameterIndex]; genericParameterNames[i] = metadata.GetStringFromIndex(genericParameter.nameIndex); } return(genericParameterNames); }
public string GetGenericContainerParams(Il2CppGenericContainer genericContainer, bool generic_decl = false) { string str_class = ""; if (generic_decl) { str_class = "class "; } var genericParameterNames = new List <string>(); for (int i = 0; i < genericContainer.type_argc; i++) { var genericParameterIndex = genericContainer.genericParameterStart + i; var genericParameter = metadata.genericParameters[genericParameterIndex]; //Il2CppDecompiler.types.Add(genericParameter.GetType()); var parameterName = metadata.GetStringFromIndex(genericParameter.nameIndex); parameterName = parameterName.Replace(".", "_"); genericParameterNames.Add(str_class + parameterName); } return($"<{string.Join(", ", genericParameterNames)}>"); }