我正在使用我无法更改其代码的遗留 API 编写代码。支持的数据类型(int、double、bool、string、APIObject)有一系列方法可以在 API 中执行操作。它们采用与方法名称中指示的数据类型相同的参数。示例用法如下所示
GetIntExp(5)
GetStringExp("Hello")
GetDoubleExp(1.2)
GetDateExp(DateTime.Now)
GetAPIObjectExp(myObject)
返回类型分别为IntExp、StringExp、DoubleExp、DateExp和ObjectExp。所有返回类型都继承自一个类(有趣的是它是一个通用类型)StaticOperator<T>
其中 T 是数据类型。
是否可以在我的代码库中编写一个通用方法,根据传入的数据类型将调用重定向到合适的 API 方法?
最佳答案
在我看来你根本不需要通用方法,只需要为每个支持的参数类型包装方法:
public IntExp GetExpression(int value)
{
return GetIntExp(value);
}
public StringExp GetExpression(string value)
{
return GetStringExp(value);
}
等等(假设您的目标是对所有获取表达式的方法使用相同的名称)。
关于c# - 编写一个通用方法来替换一系列遗留 API 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24485507/