title: How to patch a method with overloads in generic type, when the arguments are the same?
body: <p>I want to patch a method like this:</p>
  <pre><code>public class DataManager : IDataProvider
  {
      protected virtual void ReadData&lt;T&gt;(string path) where T : Item
      {
      }
  
      protected virtual void ReadData(string path)
      {
      }
      ……
  }
  </code></pre>
  <p>I have written code like:</p>
  <pre><code>[HarmonyPrefix, HarmonyPatch(typeof(DataManager), &quot;ReadData&quot;, new Type[] { typeof(string) })]
  public static bool ModPatch_ReadData_Mod(ref DataManager __instance, string path)
  {
          return false;
  }
  </code></pre>
  <p>However, when I run the game, the log is:</p>
  <blockquote>
  <p>Patch HookModSupport Failed! Exception=HarmonyLib.HarmonyException:
  Ambiguous match for HarmonyMethod[(class=Heluo.Data.DataManager,
  methodname=ReadData, type=Normal, args=(string))] ---&gt;
  System.Reflection.AmbiguousMatchException: Ambiguous match found.</p>
  </blockquote>
  <p>So what can I do?</p>