Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / System / Windows / LocalValueEnumerator.cs / 1 / LocalValueEnumerator.cs
using System;
using System.Collections;
using System.Diagnostics;
#pragma warning disable 1634, 1691 // suppressing PreSharp warnings
namespace System.Windows
{
///
/// Local value enumeration object
///
///
/// Modifying local values (via SetValue or ClearValue) during enumeration
/// is unsupported
///
public struct LocalValueEnumerator : IEnumerator
{
///
/// Overrides Object.GetHashCode
///
/// An integer that represents the hashcode for this object
public override int GetHashCode()
{
return base.GetHashCode();
}
///
/// Determine equality
///
public override bool Equals(object obj)
{
LocalValueEnumerator other = (LocalValueEnumerator) obj;
return (_count == other._count &&
_index == other._index &&
_snapshot == other._snapshot);
}
///
/// Determine equality
///
public static bool operator ==(LocalValueEnumerator obj1, LocalValueEnumerator obj2)
{
return obj1.Equals(obj2);
}
///
/// Determine inequality
///
public static bool operator !=(LocalValueEnumerator obj1, LocalValueEnumerator obj2)
{
return !(obj1 == obj2);
}
///
/// Get current entry
///
public LocalValueEntry Current
{
get
{
if(_index == -1 )
{
#pragma warning suppress 6503 // IEnumerator.Current is documented to throw this exception
throw new InvalidOperationException(SR.Get(SRID.LocalValueEnumerationReset));
}
if(_index >= Count )
{
#pragma warning suppress 6503 // IEnumerator.Current is documented to throw this exception
throw new InvalidOperationException(SR.Get(SRID.LocalValueEnumerationOutOfBounds));
}
return _snapshot[_index];
}
}
///
/// Get current entry (object reference based)
///
object IEnumerator.Current
{
get { return Current; }
}
///
/// Move to the next item in the enumerator
///
/// Success of the method
public bool MoveNext()
{
_index++;
return _index < Count;
}
///
/// Reset enumeration
///
public void Reset()
{
_index = -1;
}
///
/// Return number of items represented in the collection
///
public int Count
{
get { return _count; }
}
internal LocalValueEnumerator(LocalValueEntry[] snapshot, int count)
{
_index = -1;
_count = count;
_snapshot = snapshot;
}
private int _index;
private LocalValueEntry[] _snapshot;
private int _count;
}
///
/// Represents a Property-Value pair for local value enumeration
///
public struct LocalValueEntry
{
///
/// Overrides Object.GetHashCode
///
/// An integer that represents the hashcode for this object
public override int GetHashCode()
{
return base.GetHashCode();
}
///
/// Determine equality
///
public override bool Equals(object obj)
{
LocalValueEntry other = (LocalValueEntry) obj;
return (_dp == other._dp &&
_value == other._value);
}
///
/// Determine equality
///
public static bool operator ==(LocalValueEntry obj1, LocalValueEntry obj2)
{
return obj1.Equals(obj2);
}
///
/// Determine inequality
///
public static bool operator !=(LocalValueEntry obj1, LocalValueEntry obj2)
{
return !(obj1 == obj2);
}
///
/// Dependency property
///
public DependencyProperty Property
{
get { return _dp; }
}
///
/// Value of the property
///
public object Value
{
get { return _value; }
}
internal LocalValueEntry(DependencyProperty dp, object value)
{
_dp = dp;
_value = value;
}
// Internal here because we need to change these around when building
// the snapshot for the LocalValueEnumerator, and we can't make internal
// setters when we have public getters.
internal DependencyProperty _dp;
internal object _value;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Collections;
using System.Diagnostics;
#pragma warning disable 1634, 1691 // suppressing PreSharp warnings
namespace System.Windows
{
///
/// Local value enumeration object
///
///
/// Modifying local values (via SetValue or ClearValue) during enumeration
/// is unsupported
///
public struct LocalValueEnumerator : IEnumerator
{
///
/// Overrides Object.GetHashCode
///
/// An integer that represents the hashcode for this object
public override int GetHashCode()
{
return base.GetHashCode();
}
///
/// Determine equality
///
public override bool Equals(object obj)
{
LocalValueEnumerator other = (LocalValueEnumerator) obj;
return (_count == other._count &&
_index == other._index &&
_snapshot == other._snapshot);
}
///
/// Determine equality
///
public static bool operator ==(LocalValueEnumerator obj1, LocalValueEnumerator obj2)
{
return obj1.Equals(obj2);
}
///
/// Determine inequality
///
public static bool operator !=(LocalValueEnumerator obj1, LocalValueEnumerator obj2)
{
return !(obj1 == obj2);
}
///
/// Get current entry
///
public LocalValueEntry Current
{
get
{
if(_index == -1 )
{
#pragma warning suppress 6503 // IEnumerator.Current is documented to throw this exception
throw new InvalidOperationException(SR.Get(SRID.LocalValueEnumerationReset));
}
if(_index >= Count )
{
#pragma warning suppress 6503 // IEnumerator.Current is documented to throw this exception
throw new InvalidOperationException(SR.Get(SRID.LocalValueEnumerationOutOfBounds));
}
return _snapshot[_index];
}
}
///
/// Get current entry (object reference based)
///
object IEnumerator.Current
{
get { return Current; }
}
///
/// Move to the next item in the enumerator
///
/// Success of the method
public bool MoveNext()
{
_index++;
return _index < Count;
}
///
/// Reset enumeration
///
public void Reset()
{
_index = -1;
}
///
/// Return number of items represented in the collection
///
public int Count
{
get { return _count; }
}
internal LocalValueEnumerator(LocalValueEntry[] snapshot, int count)
{
_index = -1;
_count = count;
_snapshot = snapshot;
}
private int _index;
private LocalValueEntry[] _snapshot;
private int _count;
}
///
/// Represents a Property-Value pair for local value enumeration
///
public struct LocalValueEntry
{
///
/// Overrides Object.GetHashCode
///
/// An integer that represents the hashcode for this object
public override int GetHashCode()
{
return base.GetHashCode();
}
///
/// Determine equality
///
public override bool Equals(object obj)
{
LocalValueEntry other = (LocalValueEntry) obj;
return (_dp == other._dp &&
_value == other._value);
}
///
/// Determine equality
///
public static bool operator ==(LocalValueEntry obj1, LocalValueEntry obj2)
{
return obj1.Equals(obj2);
}
///
/// Determine inequality
///
public static bool operator !=(LocalValueEntry obj1, LocalValueEntry obj2)
{
return !(obj1 == obj2);
}
///
/// Dependency property
///
public DependencyProperty Property
{
get { return _dp; }
}
///
/// Value of the property
///
public object Value
{
get { return _value; }
}
internal LocalValueEntry(DependencyProperty dp, object value)
{
_dp = dp;
_value = value;
}
// Internal here because we need to change these around when building
// the snapshot for the LocalValueEnumerator, and we can't make internal
// setters when we have public getters.
internal DependencyProperty _dp;
internal object _value;
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomPopupPlacement.cs
- Pen.cs
- ResourceAttributes.cs
- TypeGeneratedEventArgs.cs
- AliasGenerator.cs
- BinaryUtilClasses.cs
- FastPropertyAccessor.cs
- FaultDescription.cs
- Grid.cs
- WebPartMenuStyle.cs
- ToolbarAUtomationPeer.cs
- XmlSchemaSimpleTypeRestriction.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PtsPage.cs
- OperationInfo.cs
- TextFormatter.cs
- InfocardInteractiveChannelInitializer.cs
- ServiceHttpModule.cs
- ReaderContextStackData.cs
- InvokeDelegate.cs
- ProofTokenCryptoHandle.cs
- RectAnimation.cs
- HotSpot.cs
- AttributeExtensions.cs
- EditorAttribute.cs
- PermissionRequestEvidence.cs
- AtomPub10CategoriesDocumentFormatter.cs
- Stream.cs
- SafeNativeMethods.cs
- XXXInfos.cs
- SoapSchemaExporter.cs
- PackWebRequest.cs
- MetadataPropertyvalue.cs
- DictionarySectionHandler.cs
- WebPartChrome.cs
- ListBindingHelper.cs
- HandlerWithFactory.cs
- UnconditionalPolicy.cs
- ScalarConstant.cs
- Rule.cs
- OleDbRowUpdatingEvent.cs
- ViewStateException.cs
- XmlWellformedWriterHelpers.cs
- GuidelineCollection.cs
- BufferedStream.cs
- SoapIgnoreAttribute.cs
- MatrixCamera.cs
- BaseValidatorDesigner.cs
- MSG.cs
- RegexCode.cs
- GridViewRowPresenter.cs
- CheckBox.cs
- RegexInterpreter.cs
- DataObject.cs
- FontDriver.cs
- TransactionFlowProperty.cs
- XsltQilFactory.cs
- OdbcCommandBuilder.cs
- JulianCalendar.cs
- SymbolDocumentInfo.cs
- InvalidComObjectException.cs
- ColumnMapVisitor.cs
- _LocalDataStore.cs
- Bits.cs
- SqlDataRecord.cs
- XhtmlBasicCalendarAdapter.cs
- WriteFileContext.cs
- XPathDocumentBuilder.cs
- ScrollViewerAutomationPeer.cs
- XmlDocumentSurrogate.cs
- HtmlButton.cs
- RemoteWebConfigurationHost.cs
- CallbackValidatorAttribute.cs
- CatalogZone.cs
- WebPartManagerInternals.cs
- SqlRemoveConstantOrderBy.cs
- FactoryGenerator.cs
- CmsInterop.cs
- ReflectPropertyDescriptor.cs
- VBIdentifierName.cs
- ExecutionContext.cs
- SQLByte.cs
- BindingWorker.cs
- PresentationAppDomainManager.cs
- LinqDataSourceView.cs
- DataSvcMapFile.cs
- ListItemConverter.cs
- FaultPropagationRecord.cs
- DateTimeConverter.cs
- XmlILIndex.cs
- BamlStream.cs
- DoubleAnimation.cs
- TouchesOverProperty.cs
- SecurityHeaderLayout.cs
- ObjectDataSourceFilteringEventArgs.cs
- DataGridViewRowPrePaintEventArgs.cs
- SqlClientWrapperSmiStreamChars.cs
- WebScriptMetadataMessageEncoderFactory.cs
- DefaultTextStoreTextComposition.cs
- BoolExpressionVisitors.cs