我的错误是:
错误 1 'aCI.CheckTexture.CheckTexture()' 由于其保护级别而无法访问
我使用此代码检查一些文件 MD5/Hash:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace aCI
{
class CheckTexture
{
Thread Search;
protected CheckTexture()
{
Search = new Thread(Scan);
Search.Start();
}
protected void Scan()
{
if (GetMD5Hash("1.rar") != "9647997C556C5A37A63EFAFBCA4A40D0"
|| GetMD5Hash("2.rar") != "6626959A9099B4C6F5C755E0D2E57EF8"
|| GetMD5Hash("3.rar") != "4D6611A825F81024E0153E2753B8A27E")
{
System.Windows.Forms.MessageBox.Show(
"Sorry come back and restor your orginal files.",
"Error",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error);
return;
}
}
#region Hash Calculator
private static byte[] ConvertStringToByteArray(string data)
{
return (new System.Text.UnicodeEncoding()).GetBytes(data);
}
private static System.IO.FileStream GetFileStream(string pathName)
{
return (new System.IO.FileStream(pathName, System.IO.FileMode.Open,
System.IO.FileAccess.Read, System.IO.FileShare.ReadWrite));
}
public static string GetSHA1Hash(string pathName)
{
string strResult = "";
string strHashData = "";
byte[] arrbytHashValue;
System.IO.FileStream oFileStream = null;
System.Security.Cryptography.SHA1CryptoServiceProvider oSHA1Hasher =
new System.Security.Cryptography.SHA1CryptoServiceProvider();
try
{
oFileStream = GetFileStream(pathName);
arrbytHashValue = oSHA1Hasher.ComputeHash(oFileStream);
oFileStream.Close();
strHashData = System.BitConverter.ToString(arrbytHashValue);
strHashData = strHashData.Replace("-", "");
strResult = strHashData;
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "Error!",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error,
System.Windows.Forms.MessageBoxDefaultButton.Button1);
}
return (strResult);
}
public static string GetMD5Hash(string pathName)
{
string strResult = "";
string strHashData = "";
byte[] arrbytHashValue;
System.IO.FileStream oFileStream = null;
System.Security.Cryptography.MD5CryptoServiceProvider oMD5Hasher =
new System.Security.Cryptography.MD5CryptoServiceProvider();
try
{
oFileStream = GetFileStream(pathName);
arrbytHashValue = oMD5Hasher.ComputeHash(oFileStream);
oFileStream.Close();
strHashData = System.BitConverter.ToString(arrbytHashValue);
strHashData = strHashData.Replace("-", "");
strResult = strHashData;
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message, "Error!",
System.Windows.Forms.MessageBoxButtons.OK,
System.Windows.Forms.MessageBoxIcon.Error,
System.Windows.Forms.MessageBoxDefaultButton.Button1);
}
return (strResult);
}
#endregion
}
}
然后我在这里尝试使用上面代码中的类 CheckTexture:
private void BtnMpLanClick(object sender, RoutedEventArgs e)
{
if (!File.Exists("chrome.exe"))
{
MessageBox.Show("Cannot find chrome.exe");
return;
}
else
{
//Process.Start("chrome.exe");
this.StartTheProcess("chrome.exe", "");
Thread.Sleep(10);
try
{
// I have error on this line:
CheckTexture Scan = new CheckTexture();
}
catch (Exception)
{ }
}
}
但我在这一行有这个错误:
CheckTexture Scan = new CheckTexture();
如果可能的话,请有人告诉我我的错误是什么。谢谢你的帮助