2013-10-21 28 views
0

我看不出這種方法在MainWindow.xaml.cs擴展方法,爲什麼我看不到我的擴展方法

在主窗口, 我說: 使用WpfApplication1_WPF.Classes;

請告訴我。

這是代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Security.Cryptography; 
using System.Runtime.CompilerServices; 
using System.Data.Objects; 

namespace WpfApplication1_WPF.Classes 
{ 
public static class Extensions 
{ 
     //1-Convert the user input to hash 
     public static String Hashed(String dataToHash) 
     { 
     //Convert dataToHash to byte array 
     byte[] plainTextBytes = Encoding.Unicode.GetBytes(dataToHash); 

     //Computer hash of bytes using SHA256 (256 bit hash value) 
     //Convert text to hash by using ComputerHash function in SHA256Managed algorithm 
     byte[] hash = new SHA256Managed().ComputeHash(plainTextBytes); 

     //Return hashed bytes as encoded string 
     //[convert hash byte to string to be saved in DB] 
     return Convert.ToBase64String(hash); 
     } 
    } 
} 
+0

您需要通過您希望應用擴展方法的參數(即本例中的dataToHash)包含'this'關鍵字。另外,除了使用語句之外,檢查是否引用了包含代碼的項目(即,如果該類不是同一項目的一部分)。 – JohnLBevan

+0

謝謝John的解釋,感謝您的幫助和支持[TGH] [JohnLBevan] – KekoSha

回答

2

以下添加到signarure

public static String Hashed(this String dataToHash) 

您在輸入參數前需要this

+0

您做了我的一天,謝謝[TGH] [JohnLBevan] – KekoSha