ジェネリックメソッドを作成したい:
MvcHtmlString MyMethod<T>(this HtmlHelper html, string title, IEnumerable<T> value)
コードにはList<T>
、、、、などの多くの変数があります。このメソッドには、列挙できない値をとるオーバーロードもあります。タイプパラメータ制約で特定のクラス(など)を禁止することは可能ですか?IEnumerable<T>
xxxCollection
T[]
string
私はすでに次のような1つのオーバーロードを作成しました:
MvcHtmlString MyMethod<T>(this HtmlHelper html, string title, object value)
このオーバーロードは、個々の値を処理するのに適していますが、値のコレクションを処理するには、わずかに異なる実装が必要です。ただし、コンパイラに除外するように指示できない限り、すべての文字列変数が間違ったオーバーロードに送信されるようにstring
実装します。IEnumerable