Я искал несколько разных постов о подобной проблеме, но ни одна из них, похоже, не решила мою конкретную проблему (хотя я думаю, что они не могут быть далеко).
Ссылка ниже является ближайшей версией кмоя проблема
"Объект не соответствует типу цели" при вызове методов с использованием строки в C #
Единственная разница между моей проблемой и той, что в ссылке, заключается в том, что яя вызываю универсальный метод.
Когда я делаю свой вызов, я получаю ошибку «Объект не соответствует целевому типу», но типы, которые я могу сказать, определенно совпадают. Вот пример кода, для которого я воспроизвелмоя проблема.
Буду признателен за любую помощь
class Program
{
static void Main(string[] args)
{
var obj = new SerializeObject();
var serializer = new Serializer();
var serialiserType = serializer.GetType();
MethodInfo method = serialiserType.GetMethod("Deserialize");
if (method == null)
{
return;
}
var t = obj.GetType();
MethodInfo genericMethod = method.MakeGenericMethod(t);
var tmp = genericMethod.Invoke(obj, new object[] { "Test" }); //error here
}
}
public class Serializer
{
public T Deserialize<T>(string value) where T : new()
{
return new T();
}
}
public class SerializeObject
{
}