Проверка параметра типа универсального метода в C #

Возможно ли сделать что-то подобное в C #:

public void DoSomething<T>(T t)  
{
    if (T is MyClass)
    {
        MyClass mc = (MyClass)t 
        ...
    }
    else if (T is List<MyClass>)
    {
        List<MyClass> lmc = (List<MyClass>)t
        ...
    }
}

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

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