0
我想弄清楚如何合併迭代器和複合對象。 什麼可以是下面的結構的最佳實現。如何應用複合迭代器
class Composite<Item> : Item
{
}
class Iterator<Item>
{
}
class Iterable<Item>
{
}
我想弄清楚如何合併迭代器和複合對象。 什麼可以是下面的結構的最佳實現。如何應用複合迭代器
class Composite<Item> : Item
{
}
class Iterator<Item>
{
}
class Iterable<Item>
{
}
在C#中,你很少會在這個方法中做迭代器。通常,您只需在通用集合中使用您的項目。
至於Composite Pattern - 這種模式背後的主要動機是讓您的複合材料被視爲只是一個項目。通常,這意味着你可以在「結合」的複合與迭代僅僅做:
// Given:
public class Composite<Item> : IItem {}
你可以這樣做:
List<IItem> items = new List<IItem>();
items.Add(new Item());
items.Add(new Composite<Item>());
items.Add(new Item());
// Iterate through the items...
foreach(var item in items)
{
item.Foo();
}