很早知道using的对资源应用的作用,但一直就没有在实践中应用过.今天系统的理解了一下!
[1] 因为需要Lanuch起一个应用程序,对其后进行处理.但考虑到在正常Kill()它之前的操作用异常抛出.采用了如下的重用方案! 在重载的Dispose()中我们延迟了Kill()需要操作的应用程序.
public class TestProcess : IDisposable
{
private Process process;
public TestProcess(Process processToWrap)
{
process = processToWrap;
}
public Process Process
{
get
{
return process;
}
}
IDisposable Members
}
{
private Process process;
public TestProcess(Process processToWrap)
{
process = processToWrap;
}
public Process Process
{
get
{
return process;
}
}
IDisposable Members
}
[2] 启动被使用的程序,
使用using 后会自动调用Dispose()方法进行销毁
using (TestProcess licAdminProcess = new TestProcess(Process.Start(protectorPath)))
{
//这里我对已经Lanuch起来的程序开始一些其它的操作.如有异常,它不会阻止被使用程序的关闭!
}
{
//这里我对已经Lanuch起来的程序开始一些其它的操作.如有异常,它不会阻止被使用程序的关闭!
}