undocontextguard.cs
来自「代码模版 codtemplate」· CS 代码 · 共 47 行
CS
47 行
using System;
using EnvDTE;
namespace CodeTemplate
{
/// <summary>
/// Creates an undo context for "atomic" text buffer operations
/// </summary>
internal class UndoContextGuard: IDisposable
{
public UndoContextGuard(UndoContext context, String name)
{
m_context = context;
m_wasOpened = m_context.IsOpen;
if(!m_wasOpened)
m_context.Open(name, false);
}
~UndoContextGuard()
{
Dispose(false);
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(Boolean disposing)
{
if(!m_disposed)
{
if(m_context != null && !m_wasOpened)
m_context.Close();
}
m_disposed = true;
}
private UndoContext m_context;
private Boolean m_wasOpened;
private Boolean m_disposed = false;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?