泛型 vs 动态 vs 对象

Generic type vs dynamic vs object

我想使我的方法的 return 类型通用。调用者将决定它应该期望哪种类型。

实际上我的方法将是接口的成员,实现它的 class 将有一个决策块来将工作委托给其他方法。

因此我想将接口方法的 return 类型设为泛型。

我可以通过使用 dynamic 或 object 关键字或 c# 泛型类型来实现。

我无法弄清楚哪种是实现它的最佳选择,每种类型的局限性和优势是什么。

 public interface ICoreWrapper
 {
    Response<T> ExecuteDeviceCommand<T>(DeviceCommand deviceCommand, object param = null);

 }

请推荐我。

提前致谢。

如果您在编译时不知道类型,您可以使用动态,但它们会更慢,因为它们使用运行时调用并且不太安全,因为如果类型没有实现您尝试调用的方法,您将出现运行时错误。

使用动态return类型,根据输入类型return合适的对象。