使用相同方法调用不同返回类型的可选模式

本文关键字:模式 返回类型 调用 方法 | 更新日期: 2023-09-27 18:09:06

我希望能够在我的c#程序中实现以下三个方法:

public static WebResponse MakeAPICall(string url, string logonToken = null)
public static string MakeAPICall(string url, string logonToken = null)
public static XmlDocument MakeAPICall(string url, string logonToken = null)

显然,我不能这样做,因为调用都是二义性的。这里的想法是,我希望能够将WebResponse函数包装在string函数内,然后在XmlDocument函数内,这样我只需要在一个方法中管理web请求,但调用以任何形式获得我需要的特定用法的结果。

是否有任何巧妙的方法来做到这一点,或者我只是卡住了三个唯一命名的方法?也许超载了?

使用相同方法调用不同返回类型的可选模式

不可以,c#中不能覆盖返回类型的方法。

我也希望有时编译器支持这一点,以及只覆盖属性。然后在ASP。NET MCV中可以有相同名称的方法负责GET和POST请求。或者在Web Api中重写基于HTML、XML、JSON等返回类型的方法。