У меня есть класс util (C#), в котором есть статический метод, который принимает объект определенного типа и вызывает веб-сервис для получения дальнейших данных. Я хотел бы поддерживать другие типы объектов и чтобы не дублировать код, т.е. добавить несколько похожих методов, я думаю, что лучше всего будет использовать Generic route.
Например, допустим, у меня есть:
public static void GetData(Building building)
{
var webClient = new WebClient();
var wrapper = new WrapperClass(building);
if (building.Distance.HasValue)
{
structure = new Structure((decimal)building.Length.Value, (decimal)building.Height.Value);
}
... // and so on ...
вместо того, чтобы создать другой метод(ы), например:
public static void GetDataForBridge(Bridge bridge)
{
var webClient = new WebClient();
var wrapper = new WrapperClass(bridge);
if (bridge.Distance.HasValue)
{
structure = new Structure((decimal)bridge.Length.Value, (decimal)bridge.Height.Value);
}
// ...
Я не уверен, как это сделать с помощью Generics. Может ли кто-нибудь дать мне несколько советов или рекомендаций?