我想让我的方法的返回类型通用。调用者将决定它应该期望的类型。
实际上我的方法将是接口的成员,并且实现它的类将有一个决策块来将工作委托给其他方法。
因此我想将接口方法的返回类型设为通用。
我可以通过使用动态或对象关键字或c#泛型类型来实现这一点。
我无法弄清楚哪个是实现它的最佳选择,以及每种类型的限制和优势。
public interface ICoreWrapper
{
Response<T> ExecuteDeviceCommand<T>(DeviceCommand deviceCommand, object param = null);
}
请建议我。
提前致谢。
答案 0 :(得分:0)
如果你在编译时不知道类型,你可以使用动态,但它们会慢一些,因为它们使用的是运行时调用而且安全性较低,因为如果类型没有实现你试图调用的方法,你会得到一个运行时错误。
使用动态返回类型,根据输入类型返回相应的对象。