fork download
  1. using System;
  2.  
  3. class Base
  4. {
  5. }
  6.  
  7. class Derived : Base
  8. {
  9. }
  10.  
  11. class DerivedAgain : Derived
  12. {
  13. }
  14.  
  15. class Program
  16. {
  17. static void Fun<T>(T arg)
  18. {
  19. Console.WriteLine("Fun<T>(T): " + arg);
  20. }
  21.  
  22. static void Fun(Base arg)
  23. {
  24. Console.WriteLine("Fun(Base): " + arg);
  25. }
  26.  
  27. static void Fun(Derived arg)
  28. {
  29. Console.WriteLine("Fun(Derived): " + arg);
  30. }
  31.  
  32. public static void Main()
  33. {
  34. var b = new Base();
  35. var d = new Derived();
  36. Derived da = new DerivedAgain();
  37.  
  38. Fun("a string");
  39. Fun(b);
  40. Fun(d);
  41. Fun(da);
  42. }
  43. }
Success #stdin #stdout 0.03s 14512KB
stdin
Standard input is empty
stdout
Fun<T>(T): a string
Fun(Base): Base
Fun(Derived): Derived
Fun(Derived): DerivedAgain