//Define the Product Interface and Handler Objects.
//Define the Product class containing the IProduct interface and inherited Product subclasses.
public class Product
{
public interface IProduct
{
string ShipFrom();
}

public class ProductA : IProduct
{
public string ShipFrom()
{
return " from South Africa.";
}
}

public class ProductB : IProduct
{
public string ShipFrom()
{
return " from Spain.";
}
}

public class ProductC : IProduct
{
public string ShipFrom()
{
return " not available.";
}
}
}