2012-12-17 48 views
0

是否有可能做一個堆棧這樣是否有可能製造3堆地點?堆棧<>()

Stack<Location> labels = new Stack<Location>() 
    labels.Push(label1, 400, 100) 
    labels.Push(label2, 400, 200) 

我需要知道,如果這是可能的。如果這是請告訴。謝謝

+0

告訴我,如果我需要更清楚。 –

+0

你爲什麼要這樣做?你認爲這會增加可讀性嗎? – Patrick

回答

2

是的,雖然我不會建議。創建一個擴展方法並將其放置到一個公共靜態類中。下面的例子假定有一個構造函數接受一個字符串和兩個整數類的位置。

public static class ExtensionMethods 
{ 
    public static void Push(this Stack<Location> stack, string label, int x, int y) 
    { 
     stack.Push(new Location(label, x, y)); 
    } 
} 
+0

謝謝你!我很欣賞這個! –

+0

爲什麼不建議你呢? –

+0

我並不總是建議擴展方法,因爲雖然它們可以用於小型項目,但在更大的解決方案中跟蹤它們可能變得非常困難。如果沒有正確記錄和/或引用,他們可能會導致令人討厭的編譯錯誤或錯誤。 – Mir

0

對於這個問題, 也還可以創建一個LocationStack類包裝您的Stack<Location>,並公開你正在尋找友好的方法!