Destructor for VB.NET class

M

Mika M

Hi!

My application uses self made Class. When I create an instance of it,
class creates temporary file in constructor, and this file is in use as
long as instance of class is in use.

After instance of class will be removed, temporary needed file should be
deleted too. So how can I do it? It there destructor for VB.NET class
where this file can be deleted or something like that? I'm quite newbie
with VB.NET OOP programming, but I have studied UML. Maybe I have missed
something :)

I mean something like...

Dim cl As MyClass = New MyClass
'// Here temporary file is created
cl.DoSomething()
'// Here temporary file is in use
cl = Nothing
'// After previous line temporary file should be deleted to avoid next
line, but how ?

If (File.Exists(strTempFilePath)) Then File.Delete(strTempFilePath)
 
H

Herfried K. Wagner [MVP]

Mika M said:
My application uses self made Class. When I create an instance of it,
class creates temporary file in constructor, and this file is in use as
long as instance of class is in use.

After instance of class will be removed, temporary needed file should be
deleted too. So how can I do it? It there destructor for VB.NET class
where this file can be deleted or something like that?

Take a look at the chapters about the GC, finalization and the 'IDisposable'
('Dispose' method) interface. Feel free to ask if this doesn't answer your
questions...
 
C

Crouchie1998

If you use the If File.Exists method you may come across a file access
error. My advice would be to sleep the application a split second whilst you
close the file, destroy the stream writer or whatever you are using... &
then use the File.Exists method

Another way would be to do the above in dispose. Calling the garbage
collector will clean up the object reference, but not the temporary file

I hope this was of some help

Crouchie1998
BA (HONS) MCP MCSE
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top