2012-12-17 50 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>,并公开你正在寻找友好的方法!