Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DispatcherBuilder.cs
- BuildProvider.cs
- _UriTypeConverter.cs
- MasterPageCodeDomTreeGenerator.cs
- EventBookmark.cs
- ForeignConstraint.cs
- HtmlInputHidden.cs
- DateTime.cs
- ResourceExpression.cs
- PagesSection.cs
- DataKey.cs
- XmlObjectSerializer.cs
- Substitution.cs
- InputReferenceExpression.cs
- TdsParserStateObject.cs
- ServiceDescriptionSerializer.cs
- JsonEncodingStreamWrapper.cs
- ListViewEditEventArgs.cs
- LedgerEntryCollection.cs
- PropertyInfoSet.cs
- TableLayoutSettingsTypeConverter.cs
- PropertyReferenceSerializer.cs
- AnnotationAdorner.cs
- TreeNodeMouseHoverEvent.cs
- DataProviderNameConverter.cs
- FrameworkContentElement.cs
- WindowsFormsHelpers.cs
- PathData.cs
- FileLoadException.cs
- ProjectionCamera.cs
- RightsManagementPermission.cs
- WindowsListViewSubItem.cs
- HttpCapabilitiesBase.cs
- WorkflowInstanceRecord.cs
- SqlBulkCopyColumnMapping.cs
- FormsAuthenticationConfiguration.cs
- PointAnimationUsingPath.cs
- XmlCountingReader.cs
- ResourceSet.cs
- MetadataUtilsSmi.cs
- recordstatefactory.cs
- Constants.cs
- SequenceDesignerAccessibleObject.cs
- BitmapEffectGeneralTransform.cs
- OperatorExpressions.cs
- CreateBookmarkScope.cs
- PropertyGridCommands.cs
- HttpClientChannel.cs
- ListViewGroupConverter.cs
- SafeFileMapViewHandle.cs
- NumericUpDownAcceleration.cs
- DocumentPageHost.cs
- CustomPopupPlacement.cs
- StreamUpgradeBindingElement.cs
- XmlWriterTraceListener.cs
- ReflectionTypeLoadException.cs
- CodeNamespaceCollection.cs
- FormsAuthenticationTicket.cs
- Baml2006ReaderSettings.cs
- DataViewManagerListItemTypeDescriptor.cs
- MetafileHeaderWmf.cs
- XmlNodeReader.cs
- MissingManifestResourceException.cs
- ScrollEventArgs.cs
- QueryPageSettingsEventArgs.cs
- StringPropertyBuilder.cs
- EventItfInfo.cs
- StateMachine.cs
- JournalEntry.cs
- WhiteSpaceTrimStringConverter.cs
- SymmetricKeyWrap.cs
- ArgumentOutOfRangeException.cs
- HandlerWithFactory.cs
- TrustManager.cs
- SqlCacheDependencyDatabase.cs
- XmlElementList.cs
- CodeExporter.cs
- FixedSOMLineRanges.cs
- BufferBuilder.cs
- WorkflowInstanceExtensionProvider.cs
- DiscoveryRequestHandler.cs
- StringFunctions.cs
- StrokeCollectionConverter.cs
- SqlUDTStorage.cs
- SafeLibraryHandle.cs
- SoapReflectionImporter.cs
- MailWebEventProvider.cs
- CheckableControlBaseAdapter.cs
- _Events.cs
- Int16AnimationBase.cs
- TraceSource.cs
- FlowDocumentView.cs
- Config.cs
- XmlSchemaCollection.cs
- FormViewInsertEventArgs.cs
- FormattedTextSymbols.cs
- GorillaCodec.cs
- ManagementPath.cs
- UInt16Converter.cs
- HwndTarget.cs