7

ジェネリッククラスがあるとしましょう。

public class PagerInfo<T>
{
    // ...
}

そして、このクラスのインスタンスを別のクラスのメソッドに渡したいと思います。

public void Pagination(PagerInfo pagerInfo)
{
    // ...
}

タイプ引数を指定しなかったため、上記のメソッドはコンパイルされません。しかし、このメソッドをタイプに関係なく機能させたい場合はどうなりますか。つまり、このメソッドがPagerInfoタイプに関係なくインスタンスで動作するようにしたいのです。そして、私のメソッドはタイプ固有のメソッドやプロパティにアクセスしません。

また、実際のメソッドはASP.NET MVC cshtmlヘルパーメソッドにあり、通常のcsファイルではないことに注意してください。

4

1 に答える 1

9

メソッドがジェネリック型パラメーターを使用する型のメンバーにアクセスしない場合は、ジェネリック型の派生元である非ジェネリック基本型を定義するのが一般的です。

public abstract class PagerInfo
{
    // Non-generic members
}

public class PagerInfo<T> : PagerInfo
{
    // Generic members
}
public void Pagination(PagerInfo pagerInfo)
{
    // ...
}
于 2013-02-24T19:22:28.870 に答える