Generic Method - Seeking Design Advice

У меня есть класс 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. Может ли кто-нибудь дать мне несколько советов или рекомендаций?

0
задан svick 4 October 2011 в 21:01
поделиться