自助免费搭建网站,西部数码创建子网站,互联网做网站地推,开网站的宣传图片怎么做官方解释 扩展方法使你能够向现有类型“添加”方法#xff0c;而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法#xff0c;但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码#x…官方解释 扩展方法使你能够向现有类型“添加”方法而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种静态方法但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码调用扩展方法与调用在类型中定义的方法没有明显区别。 最常见的扩展方法是 LINQ 标准查询运算符它将查询功能添加到现有的 System.Collections.IEnumerable 和 System.Collections.Generic.IEnumerableT 类型。 若要使用标准查询运算符请先使用 using System.Linq 指令将它们置于范围中。 然后任何实现了 IEnumerableT 的类型看起来都具有 GroupBy、OrderBy、Average 等实例方法。 在 IEnumerableT 类型的实例如 ListT 或 Array后键入“dot”时可以在 IntelliSense 语句完成中看到这些附加方法。 扩展方法定义的语法
public static 返回值类型 方法名(this 扩展的数据类型 参数名)
{
}
注意 扩展方法所在的类一定是 static 的
示例下面是给 string 类型的增加了一个将字符串转成int不会出现异常的扩展方法 /// summary
/// 字符串扩展方法
/// /summary
public static class StringExtension
{/// summary/// string 转 int/// /summary/// param namevalue/param/// returns转换失败返回int最小值否则返回对应的值/returnspublic static int ToInt(this string value){int val int.MinValue;int.TryParse(value, out val);return val;}
}
调用
int age 20.ToInt();
注意 如果发现调用不了应该是没有引用扩展方法的命名空间