using System; namespace Test { public interface IFoo { } public class Foo : IFoo { } public interface IBase { T Get (object o); } public class TestClass : IBase { public T Get (object o) where T : IFoo { return default (T); } T IBase.Get (object o) { return default (T); } public static void Main (string[] args) { Console.WriteLine (new TestClass ().Get (null)); } } }