具有相同方法调用的不同返回类型的替代模式

时间:2014-06-17 19:19:30

标签: c# .net web-services .net-4.0

喜欢能够在我的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请求,但调用以我需要的任何形式获得特定用法的结果。

有没有任何光滑的方法来做到这一点,或者我只是坚持制作三个唯一命名的方法?也许过载?

1 个答案:

答案 0 :(得分:1)

不,不能在返回类型上覆盖C#中的方法。

我也希望有时编译器支持这个以及属性只覆盖。然后在ASP.NET MCV中,可以使用具有相同名称的方法来处理GET和POST请求。或者在Web Api中覆盖基于HTML,XML,JSON等返回类型的方法。