C# 为泛型方法指定动态类型

C# 为泛型方法指定动态类型,c#,generics,C#,Generics,抱歉,如果这是一个重复,我还没有找到我要找的-一切似乎都在谈论ILists 目前,我正在调用方法,并将类型作为泛型传递,该泛型的工作方式与您预期的一样,但会导致代码重复。我希望能够做到 Type.MakeGenericParameter() 但这需要一个参数。我调用的是泛型方法,而不是创建对象。泛型方法不包含在泛型对象中 我怎样才能做一件事呢 Type desiredType = typeof(IPendingProduct); ... Product.Save<desiredType&

抱歉,如果这是一个重复,我还没有找到我要找的-一切似乎都在谈论ILists

目前,我正在调用方法,并将类型作为泛型传递,该泛型的工作方式与您预期的一样,但会导致代码重复。我希望能够做到

Type.MakeGenericParameter()
但这需要一个参数。我调用的是泛型方法,而不是创建对象。泛型方法不包含在泛型对象中

我怎样才能做一件事呢

Type desiredType = typeof(IPendingProduct);
...
Product.Save<desiredType>(instance);
Type desiredType=typeof(IPendingProduct);
...
Product.Save(实例);
提前谢谢

typeof(Product).GetMethod("Save").MakeGenericMethod(desiredType)
        .Invoke(null, new object[] {instance});
不太好吧


注意,这还假设
Save
是public+static,并且与重载没有冲突。

是的,对-这或代码复制。。。艰难的决定。干杯,马克。假设是正确的。