Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class AController : BaseController
- {
- private bool validate()
- {
- //code for A validation
- return base.validate();
- }
- }
- public class BController : BaseController
- {
- private bool validate()
- {
- //code for B validation
- return base.validate();
- }
- }
- public class BaseController : Controller
- {
- protected bool validate()
- {
- //code for common validation
- return isValid;
- }
- }
- public class AController : BaseController
- {
- protected override bool additionalValidate()
- {
- //code for A validation
- return isValid;
- }
- }
- public class BController : BaseController
- {
- protected override bool additionalValidate()
- {
- //code for B validation
- return isValid;
- }
- }
- public class BaseController : Controller
- {
- virtual bool additionalValidate() {
- return true;
- }
- protected bool validate()
- {
- //code for common validation
- return isValid && additionalValidate();
- }
- }
- public class AController : BaseController
- {
- protected override bool abstractValidation()
- {
- //code for A validation
- }
- }
- public class BController : BaseController
- {
- protected override bool abstractValidation()
- {
- //code for B validation
- }
- }
- public abstract class BaseController
- {
- protected abstract bool abstractValidation();
- protected bool validate()
- {
- //code for common validation
- //then, call the implementations validation method
- var isValid = abstractValidation();
- return isValid;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement