扩展方法可以说:List作为参数之一吗?
public static IEnumerable<XElement> GetSequenceDescendants(this IEnumerable<XElement> elements,params List<XName> names) { //do something }
扩展方法可以对参数类型有任何限制吗?
解决方法
简短的回答是扩展方法只是一个公共静态方法,可以像第一个参数的实例方法一样访问(感谢this关键字).这意味着您可以使用可在任何静态方法中使用的相同参数.
但是,如果您希望参数实际上是通用的,则需要将方法更改为:
public static IEnumerable<TElement> GetSequenceDescendants<TElement,TName>(this IEnumerable<TElement> elements,List<TName> names) { //do something }
您必须在方法定义中指定所有泛型参数.
此外,除了数组之外,你不能使用params关键字,即params TName []是可以的,但params List< TName>不是.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。