2010-10-31 4 views
0

Salut J'essaie d'atteindre cet objectif mais pour autant que je suis, je n'ai rien. Je souhaite ajouter une méthode statique au type de chaîne, qui retournerait une nouvelle chaîne modifiée. J'ai: en utilisant le système;Comment créer des méthodes d'extension pour le type de chaîne dans Asp.net MVC 2?

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); 
     } 
    } 
} 

Honnêtement, je ne sais pas où cela devrait être. Je l'ai mis dans mon catalogue de modèles mais je suis à peu près sûr que c'est faux. Où devrait-il être? Et quoi encore? Je voudrais l'utiliser de cette manière:

string hashedString = String.md5(input); 
+0

ENTRÉE3 devrait être entrée droite? –

+0

oui, sry pour ça c'est parce que j'ai simplifié mon code ici dans textBox. – TrN

Répondre

0

essayez ceci: string hashedString = input.md5();

Les méthodes d'extension sont compilateur tour l'appel réel est juste un appel de méthode statique normale.

Le compilateur se juste le code dans:

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

+0

ça aide! ;) mais pourquoi est-ce si je le décris comme une méthode statique? Est-ce la caractéristique des extensions? – TrN

+0

La méthode est statique car vous n'avez pas besoin d'un objet de la classe Extension pour l'utiliser. –

+0

à droite, maintenant c'est évident. merci pour l'aide et l'explication;) – TrN