Is there any rational reason why the code below is not legal in C#?
class X: IA, IB { public X test() // Compliation Error, saying that X is not IB {
This can help http://geekswithblogs.net/abhijeetp/archive/2010/01/10/covariance-and-contravariance-in-c-4.0.aspx You can use the "out" keyword