all!私は次の問題に直面している。いくつかの空き領域がある場合、タイプRoom
の例オブジェクトのための新しいリストを作成しなければならない方法を考えてみましょうか、そうでないタイプRoomConflict
のリストオブジェクトを返すので、擬似コードは、次のようになります。いくつかの条件によって異なるメソッドを返すc#
public [some type] CreateRooms(){
if(there is some space){
return new List<Room>(){new Room(), new Room()};
}
else{
return new List<RoomConflict>(){new RoomConflict(), new RoomConflict()}
}}
そのような方法を作成するには? object
のdynamic
タイプを使用する必要がありますか。またはKeyValuePair<List<Room>,List<RoomConflict>>
か、使用されていないパラメータにnullを渡します。どのような解決策が良いですか?
ベースクラスまたはインターフェイスを作成して返すことができます。 – Sybren
'RoomConflict'は' Room'から継承していますか?あるいは、それらが同じ 'インターフェース 'か、同じ'基本クラス'から継承していますか? –
私は[抽象ファクトリ](http://www.dotnet-tricks.com/Tutorial/designpatterns/4EJN020613-Abstract-Factory-Design-Pattern---C)のデザインパターンを見ていきます。 –