Как пропатчить метод с перегрузками в универсальном типе, когда аргументы одинаковые?

Я хочу исправить такой метод:

      public class DataManager : IDataProvider
{
    protected virtual void ReadData<T>(string path) where T : Item
    {
    }

    protected virtual void ReadData(string path)
    {
    }
    ……
}

Я написал код вроде:

      [HarmonyPrefix, HarmonyPatch(typeof(DataManager), "ReadData", new Type[] { typeof(string) })]
public static bool ModPatch_ReadData_Mod(ref DataManager __instance, string path)
{
        return false;
}

Однако, когда я запускаю игру, журнал:

Ошибка исправления HookModSupport! Exception=HarmonyLib.HarmonyException: неоднозначное совпадение для HarmonyMethod[(class=Heluo.Data.DataManager,methodname=ReadData, type=Normal, args=(string))] --->System.Reflection.AmbiguousMatchException: найдено неоднозначное соответствие.

Так что я могу сделать?

0 ответов

Другие вопросы по тегам