我想使用namespace System.Security.Cryptography
,但仅用于代码的一小部分,这样,如果我尝试在定义的区域之外使用命名空间的classes
或function
,它将不会”工作。我期望的结果与using
中的types
语句相似,但是具有namespaces
。
下面是示例代码,展示了我想要的内容:
using(System.Security.Cryptography;){
// namespace can be used from now on
using (MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider())
{
UTF8Encoding utf8 =new UTF8Encoding();
byte[] data = md5.ComputeHash(utf8.GetBytes(input));
return Convert.ToBase64String(data);
}
}
//now namespace can not be used- error if you are trying to use it
这有可能吗?
答案 0 :(得分:1)
将其放入或使用,例如:
System.Security.Cryptography.MD5CryptoServiceProvider
然后无需使用。
我的意思是:
using (System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider())
{
System.Text.UTF8Encoding utf8 = new System.Text.UTF8Encoding();
byte[] data = md5.ComputeHash(utf8.GetBytes(input));
return Convert.ToBase64String(data);
}
希望您现在就知道了:)
答案 1 :(得分:0)
我建议使用全限定名 System.Security.Cryptography.MD5CryptoServiceProvider
,而不要使用using
+简称(MD5CryptoServiceProvider
):
// var - let compiler derive the type
using (var md5 = new System.Security.Cryptography.MD5CryptoServiceProvider())
{
UTF8Encoding utf8 = new UTF8Encoding();
byte[] data = md5.ComputeHash(utf8.GetBytes(input));
return Convert.ToBase64String(data);
}
如果您这样做,则根本不必放using System.Security.Cryptography;