Ինչու՞ է մեզ անհրաժեշտ IDdisposable-ը:
Ինչու՞ է մեզ անհրաժեշտ IDdisposable-ը:

Video: Ինչու՞ է մեզ անհրաժեշտ IDdisposable-ը:

Video: Ինչու՞ է մեզ անհրաժեշտ IDdisposable-ը:
Video: Պա՞րզ է, թե ինչու է մեզ այլընտրանքն անհրաժեշտ 2024, Մայիս
Anonim

Միանգամյա օգտագործման համար ոչինչ չի մաքրի կամ չի ոչնչացնի առարկաները: Dispose()-ի կանչը ոչինչ չի անում, եթե այդ ֆունկցիան ոչինչ չի անում: -ի օգտագործումը Միանգամյա օգտագործման համար օրինաչափություն է. Այլ օբյեկտների կառավարվող հղումները կանխում են աղբահանի կողմից հավաքվող օբյեկտները:

Նմանապես, դուք կարող եք հարցնել, թե ինչու է օգտագործվում IDisposable ինտերֆեյսը:

Միանգամյա օգտագործման համար հաճախ է օգտագործված օգտագործել օգտագործման հայտարարությունը և օգտվել կառավարվող օբյեկտների դետերմինիստական մաքրում կատարելու հեշտ միջոցից: Հեռացնել օրինաչափության նպատակն է ապահովել մեխանիզմ՝ մաքրելու և՛ կառավարվող, և՛ չկառավարվող ռեսուրսները, և երբ դա տեղի կունենա, կախված է նրանից, թե ինչպես է կոչվում «Վերազատում» մեթոդը:

Ավելին, ի՞նչ է ID-ի օգտագործման հնարավորությունը: Միանգամյա օգտագործման համար ինտերֆեյս է, որը պարունակում է մեկ մեթոդ՝ Dispose(), չկառավարվող ռեսուրսների թողարկման համար, ինչպիսիք են ֆայլերը, հոսքերը, տվյալների բազայի միացումները և այլն:

Հաշվի առնելով սա, ե՞րբ պետք է օգտագործեմ IDisposable-ը:

դասարանում դու պետք է իրականացնի IDisposable և վերագրեք «Dispose» մեթոդը՝ թույլ տալու համար վերահսկել, թե երբ է հիշողությունն ազատվում: Եթե ոչ, ապա այս պատասխանատվությունը թողնվում է աղբահանի վրա՝ ազատելու հիշողությունը, երբ չկառավարվող ռեսուրսները պարունակող օբյեկտը վերջնական տեսքի բերվի:

Ինչու՞ մեզ պետք է տնօրինել C#-ում:

Միշտ խորհուրդ է տրվում օգտագործել Թափել չկառավարվող ռեսուրսները մաքրելու մեթոդ: Սակայն չկառավարվող ռեսուրսները (օրինակ՝ Windows API-ի ստեղծած օբյեկտները, Ֆայլը, Տվյալների բազայի միացման օբյեկտները, COM օբյեկտները և այլն) դուրս են. NET շրջանակ մենք պետք է հստակորեն մաքրել մեր ռեսուրսները: Այս տեսակի օբյեկտների համար,.

Խորհուրդ ենք տալիս: