Files
2024-02-23 07:03:56 -05:00

57 lines
1.4 KiB
C#

/*************************************************************************************
Extended WPF Toolkit
Copyright (C) 2007-2013 Xceed Software Inc.
This program is provided to you under the terms of the Microsoft Public
License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license
For more features, controls, and fast professional support,
pick up the Plus Edition at http://xceed.com/wpf_toolkit
Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids
***********************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Xceed.Wpf.AvalonDock.Controls
{
class ReentrantFlag
{
public class _ReentrantFlagHandler : IDisposable
{
ReentrantFlag _owner;
public _ReentrantFlagHandler(ReentrantFlag owner)
{
_owner = owner;
_owner._flag = true;
}
public void Dispose()
{
_owner._flag = false;
}
}
bool _flag = false;
public _ReentrantFlagHandler Enter()
{
if (_flag)
throw new InvalidOperationException();
return new _ReentrantFlagHandler(this);
}
public bool CanEnter
{
get { return !_flag; }
}
}
}