You don't even need generics - you can do it with a simple method and the application of inheritance to overridding:
private void PrintOrder(params object[] args)
{
Array.Sort(args);
foreach (object o in args)
{
Console.WriteLine(o);
}
}
Then:
PrintOrder(17, 8, 42);
PrintOrder("hello", "there", "alpha", "bravo");
PrintOrder(new DateTime(2012, 12, 31), new DateTime(2012, 1, 31), DateTime.Now);
Will produce:
8
17
42
alpha
bravo
hello
there
31/01/2012 00:00:00
15/07/2012 15:40:13
31/12/2012 00:00:00