如何在Asp.net MVC 2中为字符串类型创建扩展方法?

时间:2010-10-31 20:47:43

标签: asp.net-mvc-2 extension-methods

嗨,我正试图达到这个目标,但就我而言,我什么都没有。 我希望为字符串类型添加一些静态方法,它将返回新更改的字符串。我有:使用System;

using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Security.Cryptography;
using System.Text;
namespace TestProject.Models
{
    public static class Extension
    {
        public static string md5(this string input)
        {

            MD5 HashAlgorithm = new MD5CryptoServiceProvider();
            Byte[] InputsBytes = Encoding.UTF8.GetBytes(input3);
            Byte[] HashedInput = HashAlgorithm.ComputeHash(InputsBytes);
            return BitConverter.ToString(HashedInput);
        }
    }
}
老实说,我只是不知道它应该在哪里。我把它放在我的模型目录中,但我很确定这是错的。应该在哪里?然后是什么?我想以这种方式使用它:

string hashedString = String.md5(input); 

1 个答案:

答案 0 :(得分:0)

试试这个:string hashedString = input.md5();

扩展方法是编译器技巧,实际调用只是一个普通的静态方法调用。

编译器只需将代码转换为:

string hashedString = TestProject.Models.Extentions.md5(input)