命名空间怎么调用,如何使用命名空间

http://www.itjxue.com  2023-01-08 00:42  来源:未知  点击次数: 

需要调用什么命名空间才可以应用Encoding

.net framework自有类里边没有包含UpdatePassInfo这个方法,如果你做的项目是涉及到重写硬盘,彻底删除某文件的话,那么你说的UpdatePassInfo或许就是下边这段代码里的那个。代码里UpdatePassInfo只是代表某个事件的私有调用。其实和程序本身意图无关,只是通知调用者事件触发而已。

using System;

using System.IO;

using System.Security.Cryptography;

namespace SharpWipe

{

class Wipe

{

/// summary

/// Deletes a file in a secure way by overwriting it with

/// random garbage data n times.

/// /summary

/// param name="filename"Full path of the file to be deleted/param

/// param name="timesToWrite"Specifies the number of times the file should be overwritten/param

public void WipeFile(string filename, int timesToWrite)

{

try

{

if (File.Exists(filename))

{

// Set the files attributes to normal in case it's read-only.

File.SetAttributes(filename, FileAttributes.Normal);

// Calculate the total number of sectors in the file.

double sectors = Math.Ceiling(new FileInfo(filename).Length/512.0);

// Create a dummy-buffer the size of a sector.

byte[] dummyBuffer = new byte[512];

// Create a cryptographic Random Number Generator.

// This is what I use to create the garbage data.

RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();

// Open a FileStream to the file.

FileStream inputStream = new FileStream(filename, FileMode.Open);

for (int currentPass = 0; currentPass timesToWrite; currentPass++)

{

UpdatePassInfo(currentPass + 1, timesToWrite);

// Go to the beginning of the stream

inputStream.Position = 0;

// Loop all sectors

for (int sectorsWritten = 0; sectorsWritten sectors; sectorsWritten++)

{

UpdateSectorInfo(sectorsWritten + 1, (int) sectors);

// Fill the dummy-buffer with random data

rng.GetBytes(dummyBuffer);

// Write it to the stream

inputStream.Write(dummyBuffer, 0, dummyBuffer.Length);

}

}

// Truncate the file to 0 bytes.

// This will hide the original file-length if you try to recover the file.

inputStream.SetLength(0);

// Close the stream.

inputStream.Close();

// As an extra precaution I change the dates of the file so the

// original dates are hidden if you try to recover the file.

DateTime dt = new DateTime(2037, 1, 1, 0, 0, 0);

File.SetCreationTime(filename, dt);

File.SetLastAccessTime(filename, dt);

File.SetLastWriteTime(filename, dt);

File.SetCreationTimeUtc(filename, dt);

File.SetLastAccessTimeUtc(filename, dt);

File.SetLastWriteTimeUtc(filename, dt);

// Finally, delete the file

File.Delete(filename);

WipeDone();

}

}

catch(Exception e)

{

WipeError(e);

}

}

# region Events

public event PassInfoEventHandler PassInfoEvent;

private void UpdatePassInfo(int currentPass, int totalPasses)

{

PassInfoEvent(new PassInfoEventArgs(currentPass, totalPasses));

}

public event SectorInfoEventHandler SectorInfoEvent;

private void UpdateSectorInfo(int currentSector, int totalSectors)

{

SectorInfoEvent(new SectorInfoEventArgs(currentSector, totalSectors));

}

public event WipeDoneEventHandler WipeDoneEvent;

private void WipeDone()

{

WipeDoneEvent(new WipeDoneEventArgs());

}

public event WipeErrorEventHandler WipeErrorEvent;

private void WipeError(Exception e)

{

WipeErrorEvent(new WipeErrorEventArgs(e));

}

# endregion

}

# region Events

# region PassInfo

public delegate void PassInfoEventHandler(PassInfoEventArgs e);

public class PassInfoEventArgs : EventArgs

{

private readonly int cPass;

private readonly int tPass;

public PassInfoEventArgs(int currentPass, int totalPasses)

{

cPass = currentPass;

tPass = totalPasses;

}

/// summary Get the current pass /summary

public int CurrentPass { get { return cPass; } }

/// summary Get the total number of passes to be run /summary

public int TotalPasses { get { return tPass; } }

}

# endregion

# region SectorInfo

public delegate void SectorInfoEventHandler(SectorInfoEventArgs e);

public class SectorInfoEventArgs : EventArgs

{

private readonly int cSector;

private readonly int tSectors;

public SectorInfoEventArgs(int currentSector, int totalSectors)

{

cSector = currentSector;

tSectors = totalSectors;

}

/// summary Get the current sector /summary

public int CurrentSector { get { return cSector; } }

/// summary Get the total number of sectors to be run /summary

public int TotalSectors { get { return tSectors; } }

}

# endregion

# region WipeDone

public delegate void WipeDoneEventHandler(WipeDoneEventArgs e);

public class WipeDoneEventArgs : EventArgs

{

}

# endregion

# region WipeError

public delegate void WipeErrorEventHandler(WipeErrorEventArgs e);

public class WipeErrorEventArgs : EventArgs

{

private readonly Exception e;

public WipeErrorEventArgs(Exception error)

{

e = error;

}

public Exception WipeError{get{ return e;}}

}

# endregion

# endregion

}

C# 我在一个命名空间里写了一个静态方法,在另一个命名空间里可以调用吗?怎么写?

引用写方法的命名空间

namespace A

{

public class A

{

public static Method()

{

}

}

}

引用的话

using A;

namespace B

{

}

两个php文件 使用用一个命名空间 能不能调用另一个文件函数

可以的,直接引命名空间就行,引进来以后使用命名空间的写法来调用函数

(责任编辑:IT教学网)

更多