【发布时间】:2011-01-24 21:47:02
【问题描述】:
扩展方法能否有发言权:列表作为参数之一?
public static IEnumerable<XElement> GetSequenceDescendants(this IEnumerable<XElement> elements, params List<XName> names)
{
//do something
}
扩展方法可以具有的参数类型是否有任何限制?
【问题讨论】:
-
大多数扩展方法都有泛型参数。
-
如果您从扩展方法声明中取出参数,您的代码可以编译。如果您不想从扩展方法中取出参数,则需要将 List
更改为 XName[] -
你真的问了两个问题,因为第一个 List 不能单独作为参数,你需要将它定义为像“params XName [] names”这样的数组,除非你制作 Lists 的 param 数组.
标签: c# linq generics linq-to-xml extension-methods