No, that's not possible, you have to use dynamic dispatching
public class C { public int DoWork<T>() { if (typeof(T) == typeof(int)) return DoWorkInt(); return 13; } private int DoWorkInt() { return 42; } } C# does not support explicit specialization; that is, a custom implementation of a template for a specific type.