2016-12-31 99 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的列表,並使它們可訪問和可更新。 –