В ролях, затем проверить или проверить, затем в ролях? [Дубликат]

Возможный дубликат:
Приведение против использования ключевого слова "as" в CLR

Какой метод считается лучшей практикой?

В ролях первым?

public string Describe(ICola cola)
{
    var coke = cola as CocaCola;
    if (coke != null)
    {
        string result;
        // some unique coca-cola only code here.
        return result;
    }
    var pepsi = cola as Pepsi;
    if (pepsi != null)
    {
        string result;
        // some unique pepsi only code here.
        return result;
    }
}

Или я должен проверить сначала, затем бросить?

public string Describe(ICola cola)
{
    if (cola is CocaCola)
    {
        var coke = (CocaCola) cola;
        string result;
        // some unique coca-cola only code here.
        return result;
    }
    if (cola is Pepsi)
    {
        var pepsi = (Pepsi) cola;
        string result;
        // some unique pepsi only code here.
        return result;
    }
}

Можете ли вы увидеть другой способ сделать это?

Ответы на вопрос(5)

Ваш ответ на вопрос