我创建了一个名为MostRecentStack<T>
的类,它是一个只保留一定数量项目的堆栈,将最下面的项目放在底部以腾出空间给新的项目。我想有一个变量,可以存储对常规(“无限”)堆栈的引用,也可以根据具体情况存储一个自定义类型,但C#没有定义通用的“堆栈”接口。通常这不会是一个问题,但我想System.Collections.Generic.Stack<T>
来实现接口。声明一个接口是由一个类实现的
只要一个类提供所需的成员,在接口定义中,是否有任何方法告诉编译器将类视为实现接口?我希望能够做到这一点,而无需使用as
或其他类型转换方法。
要实现一个接口,一个类需要声明为实现接口,所以你想要的是不可能的。你可以从System.Collections.Generic.Stack中派生一个类,它除了实现新的接口外什么都不做。然后,您可以在代码中使用派生类代替System.Collections.Generic.Stack 。 –
Baldrick
好主意!如果没有人有更好的想法,您应该将其作为答案提交,但我可以将其标记为已接受。谢谢! – flarn2006
非常高兴这是有帮助的,我已经添加它作为答案。 – Baldrick