C# 如何在子类中构造Dispose方法?
我有一个这样的儿童班:C# 如何在子类中构造Dispose方法?,c#,C#,我有一个这样的儿童班: SyncTelemetryChannel : ITelemetryChannel ITelemetryChannel : IDisposeable 我应该在SyncTelemetryChannel Dispose方法中放置什么?目前我有: public void Dispose() {} 谢谢,Peter公共类同步遥测频道:ITelemetryChannel public class SyncTelemetryChannel : ITelemetryChannel
SyncTelemetryChannel : ITelemetryChannel
ITelemetryChannel : IDisposeable
我应该在SyncTelemetryChannel Dispose方法中放置什么?目前我有:
public void Dispose() {}
谢谢,Peter公共类同步遥测频道:ITelemetryChannel
public class SyncTelemetryChannel : ITelemetryChannel
{
private bool _disposed = false;
/// <summary>
/// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
/// </summary>
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
/// <summary>
/// Releases unmanaged and - optionally - managed resources.
/// </summary>
/// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
protected virtual void Dispose(bool disposing)
{
if (_disposed)
return;
if (disposing)
{
// Free any other managed objects here.
}
// Free any unmanaged objects here.
_disposed = true;
}
}
{
private bool_disposed=false;
///
///执行与释放、释放或重置非托管资源相关的应用程序定义的任务。
///
公共空间处置()
{
处置(真实);
总干事(本);
}
///
///释放非托管和(可选)托管资源。
///
///如果为true,则同时释放托管和非托管资源;如果为false,则仅释放非托管资源。
受保护的虚拟void Dispose(bool disposing)
{
如果(_)
返回;
如果(处置)
{
//在此处释放任何其他托管对象。
}
//在此处释放所有非托管对象。
_这是真的;
}
}
ITelemetryChannel
是一个接口吗?(仔细检查)您应该正确地实现dispose模式。您的对象是否拥有非托管资源的所有权?谢谢LP13和Eric。我想得太多了,你的评论帮助了我。