1
我想寫一個類,它爲任何給定的域模型提供解密值。以下邏輯正常工作,但不知道要在XXXXXX
的位置聲明什麼。通用返回類型
樣品域模型:
public class emp
{
public string empname{get;set;}
}
我會打電話給DecryptByObject
方法是這樣的:
var x = DecryptByObject(emp,KEY);
DecryptByObject
方法:
public XXXXX DecryptByObject(XXXXXX myObject, string decryptKey)
{
Type t = myObject.GetType();
foreach (MemberInfo mi in t.GetMembers())
{
try
{
if (mi.MemberType == MemberTypes.Property)
{
string value = ((PropertyInfo)mi).GetValue(myObject).ToString();
var bytes = Convert.FromBase64String(value);
var decryValue = MachineKey.Unprotect(bytes, decryptKey);
((PropertyInfo)mi).SetValue(myObject, Encoding.UTF8.GetString(decryValue));
}
}
catch (Exception ex) { }
}
return myObject;
}
爲什麼忽略異常? –
我確實有異常處理機制,但是對於這個問題,我已經刪除了這個部分。 @John Saunders – Yass
然後,只需從您發佈的代碼中刪除try/catch。你混淆了這個問題。 –