.net为什么在关闭程序时需要配置句柄

时间:2019-03-29 08:32:05

标签: .net vb.net handle

根据本文档,我在关闭程序时必须处置手柄。

https://infosys.beckhoff.com/english.php?content=../content/1033/tcquickstart/html/tcquickstart_samplevisualbasicnet.htm&id=

  <mat-step  label="Details" state="details" fxFlex="100" [stepControl]="secondForm">
    <ng-container *ngTemplateOutlet="stepTwo"></ng-container>
  </mat-step>

  <mat-step  label="Options" state="options" fxFlex="100" [stepControl]="thirdForm">
    <ng-container *ngTemplateOutlet="stepThree"></ng-container>
  </mat-step>

  <mat-step label="Review" state="review" fxFlex="100"  editable="false">
    <ng-container *ngTemplateOutlet="stepFour"></ng-container>
  </mat-step>

  <mat-step >
      <ng-template matStepLabel>
          <p (click)="stepChange()"><mat-icon >{{nextIndexIcon}}</mat-icon>{{nextIndexName}}<mat-icon>arrow_forward_ios</mat-icon>Step {{stepnumber}}
          of 5</p>
      </ng-template>
      <ng-container *ngTemplateOutlet="stepFive"></ng-container>
    </mat-step>

需要吗?关闭程序后,是否还没有释放内存?如果程序关闭然后重新打开,是否可能多次出现该句柄?

1 个答案:

答案 0 :(得分:1)

这是在表单关闭事件中,好吧,是的,如果您要构建一个表单应用程序,也将在程序关闭时出现,但是我认为这可能是对 general 的说明。 >使用完后要清理的原则。

通常来说,如果程序即将退出,则无需进行此类整理。为Raymond Chen puts it

  

建筑物正在拆除。不要打扫地板,倒空垃圾桶和擦除白板。而且不要在建筑物的出口排队,这样每个人都可以将进出磁铁移出。您要做的只是让拆除团队等着您完成这些毫无意义的房屋清洁任务。

进程退出时,

OS句柄将被回收。但是,如果您正在与外部硬件通信,则如果将硬件重新设置为已知良好状态,则删除句柄可能会更干净(这确实是一个问题,如果程序崩溃,该怎么办)