//Visual Basic 2010 Redefinition - Invariance, Covariance en Contravariance Static Typing en Dynamic Binding public class Fruit { public virtual void MethodA() { } } public class Apple : Fruit { public virtual void MethodB() { } } public class GrannySmith : Apple { public virtual void MethodC() { } } public class JonaGold : Apple { public virtual void MethodD() { } } public class BaseClass { public virtual void Method1(Apple argument) { } } public class DerivedClass : BaseClass { public override void Method1(Apple argument) { } public override void Method1(Fruit argument) { Console.WriteLine(argument.MethodA()); } } public class ExpectedContraVariance { public static void Main() { GrannySmith grannySmith1 = new GrannySmith(); JonaGold jonaGold1 = new JonaGold(); BaseClass object1 = new DerivedClass(); object1.Method1(grannySmith1); } } //Bezoek www.vbvoorbeelden.be voor meer C# voorbeelden. //Copyright - De Wolf / vbvoorbeelden - 2003-2011 - Alle rechten voorbehouden.