public static void Main(string[] args)
Console.WriteLine("Starting OrderProcessingService Override Test");
Functions functions = new Functions();
IOrderProcessingService orderProcessingService = new OrderProcessingService(functions);
ProcessingService(orderProcessingService);
public partial interface IOrderProcessingService
public int MoveShoppingCartItemsToOrderItems();
IOrderProcessingService _orderProcessingService;
public void ProcessingService(IOrderProcessingService orderProcessingService)
_orderProcessingService = orderProcessingService;
Console.WriteLine("Trying to call override");
int number = orderProcessingService.MoveShoppingCartItemsToOrderItems();
Console.WriteLine(number);
Console.WriteLine("Calling override function directly");
public partial class OrderProcessingService : IOrderProcessingService
public OrderProcessingService(Functions functions) : base()
Console.WriteLine("OrderProcessingService Initialisation");
public virtual int MoveShoppingCartItemsToOrderItems()
return _functions.Get(1);
public class CustomOrderProcessingService : OrderProcessingService
public CustomOrderProcessingService(Functions functions) : base(functions)
Console.WriteLine("CustomOrderProcessingService Initialisation");
public override int MoveShoppingCartItemsToOrderItems()
return _functions.Get(2);
public int Get(int number)