public class B { public int Add (T obj) { return -1; } public void AddRange (object o) { T obj = (T) o; Add (obj); } } public interface IA { } public class A : IA { } public class Test { public static void Main () { B aux = new B (); aux.AddRange (new A ()); } }