C# 拓展方法
编辑
88
2022-09-01
扩展方法是C#3.0引入的新特性,使用它,可以在不修改某一类的代码的情况下,实现该类方法的扩展。
为一个类添加扩展方法,需要三个要素:
-
扩展方法所在的类为静态类
-
扩展方法本身要为静态方法
-
扩展方法的第一个参数要用关键字this,指向要扩展的类
定义
public static class Expand
{
public static string ToMd5_32(this string str)
{
var md5 = System.Security.Cryptography.MD5.Create();
var bs = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
var sb = new StringBuilder();
foreach (var b in bs)
{
sb.Append(b.ToString("x2"));
}
return sb.ToString();
}
}
这个方法是服务于string类型的,返回其md5的值
使用
调用方法也非常简单
string strTest = "Hello World!";
var md5Str = strTest.ToMd5_32();
Console.WriteLine(md5Str);
控制台输出:
ed076287532e86365e841e92bfc50d8c
结尾
这种灵活的方式,可以让我们的开发更便捷,但是不要滥用扩展方法,当扩展方法与类原始的方法重名时,原始方法的优先级高于扩展方法,并且对于系统类,不要随便添加扩展方法。
- 0
- 0
-
分享