Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class A
- {
- public virtual void Render()
- {
- }
- }
- class B : A
- {
- public override void Render()
- {
- // Prepare the object for rendering
- SpecialRender();
- // Do some cleanup
- }
- protected virtual void SpecialRender()
- {
- }
- }
- class C : B
- {
- protected override void SpecialRender()
- {
- // Do some cool stuff
- }
- }
- A obj = new C();
- obj.Render(); // calls B.Render -> c.SpecialRender
- public sealed override void Render()
- {
- // Prepare the object for rendering
- SpecialRender();
- // Do some cleanup
- }
- class B : A
- {
- public sealed override void Render()
- {
- // Prepare the object for rendering
- SpecialRender();
- // Do some cleanup
- }
- protected virtual void SpecialRender()
- {
- }
- }
- class A
- {
- public virtual void Render()
- {
- }
- }
- class B : A
- {
- public override void Render()
- {
- // Prepare the object for rendering
- SpecialRender();
- // Do some cleanup
- }
- protected virtual void SpecialRender()
- {
- }
- }
- class B2 : B
- {
- public new void Render()
- {
- }
- }
- class C : B2
- {
- protected override void SpecialRender()
- {
- }
- //public override void Render() // compiler error
- //{
- //}
- }
- protected override sealed void Render() { ... }
- class B : A
- {
- protected sealed override void SpecialRender()
- {
- // do stuff
- }
- }
- class C : B
- protected override void SpecialRender()
- {
- // not valid
- }
- }
Add Comment
Please, Sign In to add comment