To allow developers to extend generated code and keep modifications, Sybase supports a generation gap pattern. This pattern makes use of a C# partial classes to provide customization. For certain logic-related classes, a “protected virtual” method lets you override the method with your own implementation.
An application consists of both generated code and customized code.
Following is an example of the FormCreateCustomerController class:
/// <summary>
/// The Base class of FormCreateCustomerController
/// </summary>
internal abstract class FormCreateCustomerControllerBase :
ControllerBase
{
public FormCreateCustomerControllerBase(IFormPart form)
: base(form)
{
}
// button (Submit) click event handler
internal virtual void
SubmitButton_Handler(FormsManagerDataObject dataObject)
{
....
}
}
/// <summary>
/// The Controller class of Form FormCreateCustomer
/// </summary>
internal partial class FormCreateCustomerController :
FormCreateCustomerControllerBase
{
public FormCreateCustomerController(IFormPart form)
: base(form)
{
}
}
internal partial class FormCreateCustomerController
{
internal override void SubmitButton_Handler(Sybase.UnwiredPlatform.Windows.Forms.FormsManagerDataObject dataObject)
{
// Add your custom actions here
MessageBox.Show("Before Submit!");
// Perform the default action
base.SubmitButton_Handler(dataObject);
}
}