我想创建一个通用方法:
MvcHtmlString MyMethod<T>(this HtmlHelper html, string title, IEnumerable<T> value)
我的代码中有很多变量,它们是List<T>
, IEnumerable<T>
, xxxCollection
, T[]
, 等等……这个方法也有一个重载,它将采用不可枚举的值。string
是否可以在类型参数约束中禁止特定类(如)?
我已经创建了一个这样的重载:
MvcHtmlString MyMethod<T>(this HtmlHelper html, string title, object value)
这种重载有利于处理单个值,但处理值的集合需要稍微不同的实现。但是,string
实现IEnumerable
所以我的所有字符串变量都将被发送到错误的重载,除非我可以告诉编译器它们应该被排除。