private void CheckIfIsDefined(DataGridItemPropertyBaseFlags value) { if (Enum.IsDefined(typeof(DataGridItemPropertyBaseFlags), value)) { return; } int flags = Convert.ToInt32(value); foreach (var flag in Enum.GetValues(typeof(DataGridItemPropertyBaseFlags))) { int flagValue = Convert.ToInt32(flag); if ((flags & flagValue) == flagValue) { flags &= ~flagValue; if (flags == 0) { break; } } } Debug.Assert(flags == 0); }
internal bool this[DataGridItemPropertyBaseFlags flag] { get { return((m_data & flag) == flag); } set { this.CheckIfIsDefined(flag); if (value) { m_data |= flag; } else { m_data &= ~flag; } } }
private void CheckIfIsDefined( DataGridItemPropertyBaseFlags value ) { if( Enum.IsDefined( typeof( DataGridItemPropertyBaseFlags ), value ) ) return; int flags = Convert.ToInt32( value ); foreach( var flag in Enum.GetValues( typeof( DataGridItemPropertyBaseFlags ) ) ) { int flagValue = Convert.ToInt32( flag ); if( ( flags & flagValue ) == flagValue ) { flags &= ~flagValue; if( flags == 0 ) break; } } Debug.Assert( flags == 0 ); }
internal bool this[ DataGridItemPropertyBaseFlags flag ] { get { return ( ( m_data & flag ) == flag ); } set { this.CheckIfIsDefined( flag ); if( value ) { m_data |= flag; } else { m_data &= ~flag; } } }