假设我有一个泛型类.
public class PagerInfo<T>
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
我想将此类的实例传递给另一个类中的方法.
public void Pagination(PagerInfo pagerInfo)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
上面的方法不会编译,因为我没有提供类型参数.但是,如果我希望这种方法无论何种类型都能工作,该怎么办?也就是说,我希望这种方法可以在PagerInfo不管类型的情况下对实例进行操作.并且我的方法不会访问任何特定于类型的方法或属性.
另外,请注意我的实际方法是在ASP.NET MVC cshtml辅助方法中,而不是常规的cs文件.
如果方法不访问使用泛型类型参数的类型的成员,则通常定义泛型类型派生的非泛型基类型:
public abstract class PagerInfo
{
// Non-generic members
}
public class PagerInfo<T> : PagerInfo
{
// Generic members
}
Run Code Online (Sandbox Code Playgroud)
public void Pagination(PagerInfo pagerInfo)
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1518 次 |
| 最近记录: |