Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class MyBase {
- protected abstract void CustomLogic(); // Subclasses implement this
- public void PayloadMethod() {
- ... // Do somethig
- CustomLogic();
- ... // Do something else
- }
- }
- class Derived1 : MyBase {
- protected override void CustomLogic() {
- ... // Custom logic 1
- }
- }
- class Derived2 : MyBase {
- protected override void CustomLogic() {
- ... // Custom logic 2
- }
- }
- class Derived3 : MyBase {
- protected override void CustomLogic() {
- ... // Custom logic 3
- }
- }
- abstract class Foo
- {
- public void Bar()
- {
- // some code defined in the parent class
- BarCore(); // the customized part of it as defined in the child class
- }
- protected virtual void BarCore() { }
- }
- class BaseClass
- {
- public void DoSomething()
- {
- // base class code
- // derived class code, modifiable by the derived class
- this.DoItSpecificallyForThatDerivedClass();
- }
- protected abstract void DoItSpecificallyForThatDerivedClass();
- }
- public class ADerivedClass : BaseClass
- {
- protected override void DoItSpecificallyForThatDerivedClass()
- {
- // code specific to this instance and/or class
- }
- }
Add Comment
Please, Sign In to add comment