- using System; 
-   
- public abstract class MyBase 
- { 
- 	public abstract bool GetValue(bool value = true); 
- } 
-   
- public class MyDerived : MyBase 
- { 
- 	public override bool GetValue(bool value = false) 
- 	{ 
- 		return value; 
- 	} 
- } 
-   
- public class Test 
- { 
- 	public static void Main() 
- 	{ 
- 		var derived = new MyDerived(); 
- 		Console.WriteLine("Value = {0}", derived.GetValue()); 
- 		MyBase myBase = derived; 
- 		Console.WriteLine("Value = {0}", myBase.GetValue()); 
- 	} 
- } 
-   
				dXNpbmcgU3lzdGVtOwoKcHVibGljIGFic3RyYWN0IGNsYXNzIE15QmFzZQp7CglwdWJsaWMgYWJzdHJhY3QgYm9vbCBHZXRWYWx1ZShib29sIHZhbHVlID0gdHJ1ZSk7Cn0KCnB1YmxpYyBjbGFzcyBNeURlcml2ZWQgOiBNeUJhc2UKewoJcHVibGljIG92ZXJyaWRlIGJvb2wgR2V0VmFsdWUoYm9vbCB2YWx1ZSA9IGZhbHNlKQoJewoJCXJldHVybiB2YWx1ZTsKCX0KfQoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBkZXJpdmVkID0gbmV3IE15RGVyaXZlZCgpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKCJWYWx1ZSA9IHswfSIsIGRlcml2ZWQuR2V0VmFsdWUoKSk7CgkJTXlCYXNlIG15QmFzZSA9IGRlcml2ZWQ7CgkJQ29uc29sZS5Xcml0ZUxpbmUoIlZhbHVlID0gezB9IiwgbXlCYXNlLkdldFZhbHVlKCkpOwoJfQp9Cg==