1
我如何可以簡化這個代碼,但保留現有功能:嘗試捕捉最後包裝器
var i = new Impersonation();
if (i.ImpersonateValidUser())
{
try
{
//privileged code goes here.
}
catch (Exception ex)
{
throw;
}
finally
{
i.UndoImpersonation();
}
}
else
{
throw new Exception("Impersonation failed.");
}
有了這個東西類似於:
using(var i = new Impersonation())
{
//privileged code goes here.
}
特權碼可以是一個或多個行。
查找到'IDisposable'接口是如何工作的。 – vesan 2014-10-08 00:03:23
一個提示:如果你不使用它,你可以刪除'catch';只用一個try-finally就可以了。 – 2014-10-08 00:05:07