我想使下面的方法具有通用性,此方法使用搜索服务进行搜索,并且所有可能的URL都在字典中。
public XDocument DoSearchForTypeA()
{
return searchService.Search(dictionary["optiona"]);
}
public XDocument DoSearchForTypeB()
{
return searchService.Search(dictionary["optionb"]);
}
我在考虑做这样的事情:
public XDocument DoSearch<T>()
{
if(typeof(T)==typeof(MyTypeA))
{
return searchService.Search(dictionary["optiona"]);
}
return searchService.Search(dictionary["optionb"]);
}
我看到我的解决方案非常糟糕。主要是因为我不喜欢开关或ifs解析每种类型。它使得代码在规模上不那么灵活。
我希望有一个更优雅的解决方案,但我觉得这不是使用泛型方法的最佳示例。你能就这个反思给我一些建议吗?
答案 0 :(得分:4)
字典是其中一个选项:
ecosystem