2016-12-31 59 views
1

I'am创建具有一些信息的Paiement发票,具有主要类别和子类别,主要类别可以包含一些具有不同价格的子类别。管理员可以添加“类别”。c#订单/添加类型

虽然创建订单:

public void OrderAdd(Cat1,cat2,cat3) 
    { 
    // add Method Here 
    } 

我没有可以添加类别的固定或常数,它可以被删除,以及,我不知道如何做到这一点 顺序方法应采取分类始终(客户端只能挑选小类) 例如:

客户去了修理工厂,我们给他一个5个大类,他必须选择子类别所有这些类别

例子:

cat 1 => SubType 2 => Price. 
cat 2 => SubType 6 => Price. 
cat 3 => SubType 2 => Price. 
cat 4 => SubType 4 => Price. 
cat 5 => SubType 8 => Price 
Final Price => ... 

所以,也许顾客来再次后15天的菜单已经改变现在等只有3个类别...

的主要类别是不是一个常数。

我该如何设法为该类型创建订单方法?

回答

1

我不确定我是否理解你的问题,但似乎你可能想创建一个类别的委托,你可以添加个别的子类别方法,每个方法返回一个价格。通过这种方式,您可以简单地使用+ =添加新的子类别,或者使用 - =来减去该子类别,并且委托类别继续按预期执行。再次,我不确定你的问题。您可能希望创建一个客户类,其中包含类别委托和子类别方法的实例。当subCategories更改时,最好使用IObserver/IObservable模式更新这些属性。这将有助于维护OOP设计并保持事物的可重用性和可更新性。

+0

嗨,谢谢你的回答,让它变得简单可以说我有一个Order方法,它需要5个参数cat1,cat2,cat3,cat4,这个方法可以稍后改变,采取更多或更少的参数,导致主要类别可以被添加和删除 – Huster

+0

你可能想要添加一个列表作为参数,这样你可以处理你需要的很多类别。例如:public void OrderAdd(List currentCategories){foreach(currentCategories中的var类别)category.//add method here。 –

+0

要将subCategories合并到类别中,您可以创建一个接口ISubCategoryList,它要求每个类别都包含一个subCategories的列表,并使它们可访问和可更新。 –