Как мне создать методы расширения для строкового типа в Asp.net MVC 2? - PullRequest
0 голосов
/ 31 октября 2010

Привет, я пытаюсь достичь этой цели, но у меня ничего нет.Я хочу добавить статический метод к строковому типу, который будет возвращать новую измененную строку.У меня есть: используя 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 голосов
/ 31 октября 2010

попробуйте это: string hashedString = input.md5();

Методы расширения являются трюком компилятора, фактический вызов - просто обычный вызов статического метода.

Компилятор просто превращает код в:

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

...