Fairly simple inheritance and polymorphism

  • Thread starter Thread starter daz_oldham
  • Start date Start date
D

daz_oldham

Hi

I was wondering if you could help me - I am looking at creating a C#
Project to be used with my ASP.NET solition (VS2005). What I would
like to do (I believe) is really simple.

I have an 'Order' object, and each 'Order' can have one (and only one)
'OrderLine'. The order line is the item ordered if you like. What I
would like to do is be able to access my 'OrderLine' via an instance of
the 'Order' object.

// i.e.
Order oOrder = new Order(iOrderID);
String sSomething = oOrder.OrderLine.ProductName;

// and also things like
oOrder.OrderLine.Delete();
oOrder.OrderLine.ProductName = "Widget";
From within my 'OrderLine' I would like to be able to access methods
etc. from my Order object. Can anybody tell me where to begin?

Many thanks

Darren
 
Indeed, very simple:

public class OrderLine
{
private Order order;
private OrderLine()
{
// don't allow parameterless instancing
}
public OrderLine(Order order)
: base()
{
if (order == null)
throw new ArgumentNullException("order may not be null!");
this.order = order;
}
private string productName;
public string ProductName
{
get { return productName; }
set { productName= value; }
}
// add more properties here
// ...

public void Delete()
{
if (order != null)
order.orderLine = null;
}
}


public class Order
{
internal OrderLine orderLine = null;
public OrderLine OrderLine
{
get
{
// if orderLine is null, you either deleted it or it hasn't
been added yet
// in either case, create a new instance if needed
if (orderLine == null)
orderLine = new OrderLine(this);
return orderLine;
}

}
}
 
Back
Top