我们有许多具有非常相似功能的控制器,有很多代码重复。有一些基本控制器包含一些在所有这些中使用的代码,但大多数仍然是重复的。每个控制器都有一个构造函数,服务由城堡注入。
我在想是否可以将泛型与控制器一起使用来减少重复量。在基类中使用类似的代码并覆盖代码偏离的任何实例。
或者我可以在没有泛型的情况下执行相同的操作,并在基础中包含更多重复的代码。
什么是最好的方法以及如何在控制器中实现泛型?我猜他们也会使用接口。
答案 0 :(得分:0)
如果不看应用程序,很难给出答案。但是,泛型可用于编写不同类型的可重用代码。
public class Stack<T>
{
T[] m_Items;
public void Push(T item) {...}
public T Pop() {...}
}
Stack<int> stack = new Stack<int>();
stack.Push(1);
stack.Push(2);
int number = stack.Pop();
有一个类型安全的泛型。我们确保Push
接受int
,Pop
将返回int
。同样,你可以将它用于string
等。否则,你必须使用object
,在这种情况下,没有类型的保证。