Of course, you can overwrite the file so that the previous content could not be restored. But this must be done by the disk itself to make sure that the correct block is overwritten ... C # interacts with the file system and not with the physical blocks, therefore it does not provide any security.
The actual way to ask the drive to erase something safely depends on the interface (ATAPI vs SATA, vs USB mass-storage vs SCSI vs firewire), and C # does not provide an easy way to command at this level.
Ben voigt
source share