Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / ComponentModel / DependencyPropertyAttribute.cs / 1305600 / DependencyPropertyAttribute.cs
namespace MS.Internal.ComponentModel { using System; using System.Windows; ////// This attribute is synthesized by our DependencyObjectProvider /// to relate a property descriptor back to a dependency property. /// [AttributeUsage(AttributeTargets.Method)] internal sealed class DependencyPropertyAttribute : Attribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Creates a new DependencyPropertyAttribute for the given dependency property. /// internal DependencyPropertyAttribute(DependencyProperty dependencyProperty, bool isAttached) { if (dependencyProperty == null) throw new ArgumentNullException("dependencyProperty"); _dp = dependencyProperty; _isAttached = isAttached; } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Override of Object.Equals that returns true when the dependency /// property contained within each attribute is the same. /// public override bool Equals(object value) { DependencyPropertyAttribute da = value as DependencyPropertyAttribute; if (da != null && object.ReferenceEquals(da._dp, _dp) && da._isAttached == _isAttached) { return true; } return false; } ////// Override of Object.GetHashCode(); /// public override int GetHashCode() { return _dp.GetHashCode(); } #endregion Public Methods //------------------------------------------------------ // // Public Operators // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Overrides Attribute.TypeId to be unique with respect to /// other dependency property attributes.c /// public override object TypeId { get { return typeof(DependencyPropertyAttribute); } } #endregion Public Properties //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Properties // //----------------------------------------------------- #region Internal Properties ////// Returns whether the dependency property is an attached /// property. /// internal bool IsAttached { get { return _isAttached; } } ////// Returns the dependency property instance this attribute is /// associated with. /// internal DependencyProperty DependencyProperty { get { return _dp; } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private DependencyProperty _dp; private bool _isAttached; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace MS.Internal.ComponentModel { using System; using System.Windows; ////// This attribute is synthesized by our DependencyObjectProvider /// to relate a property descriptor back to a dependency property. /// [AttributeUsage(AttributeTargets.Method)] internal sealed class DependencyPropertyAttribute : Attribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- #region Constructors ////// Creates a new DependencyPropertyAttribute for the given dependency property. /// internal DependencyPropertyAttribute(DependencyProperty dependencyProperty, bool isAttached) { if (dependencyProperty == null) throw new ArgumentNullException("dependencyProperty"); _dp = dependencyProperty; _isAttached = isAttached; } #endregion Constructors //----------------------------------------------------- // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Override of Object.Equals that returns true when the dependency /// property contained within each attribute is the same. /// public override bool Equals(object value) { DependencyPropertyAttribute da = value as DependencyPropertyAttribute; if (da != null && object.ReferenceEquals(da._dp, _dp) && da._isAttached == _isAttached) { return true; } return false; } ////// Override of Object.GetHashCode(); /// public override int GetHashCode() { return _dp.GetHashCode(); } #endregion Public Methods //------------------------------------------------------ // // Public Operators // //----------------------------------------------------- //------------------------------------------------------ // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Overrides Attribute.TypeId to be unique with respect to /// other dependency property attributes.c /// public override object TypeId { get { return typeof(DependencyPropertyAttribute); } } #endregion Public Properties //----------------------------------------------------- // // Public Events // //------------------------------------------------------ //----------------------------------------------------- // // Internal Properties // //----------------------------------------------------- #region Internal Properties ////// Returns whether the dependency property is an attached /// property. /// internal bool IsAttached { get { return _isAttached; } } ////// Returns the dependency property instance this attribute is /// associated with. /// internal DependencyProperty DependencyProperty { get { return _dp; } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private DependencyProperty _dp; private bool _isAttached; #endregion Private Fields } } // 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
- ReadOnlyHierarchicalDataSource.cs
- serverconfig.cs
- SurrogateSelector.cs
- CfgParser.cs
- BindingContext.cs
- WindowsGraphics2.cs
- IPPacketInformation.cs
- MethodToken.cs
- UnsafeNativeMethods.cs
- BitmapDownload.cs
- ColumnReorderedEventArgs.cs
- TextTreeTextNode.cs
- COAUTHINFO.cs
- __FastResourceComparer.cs
- Label.cs
- ColorTransform.cs
- DataObject.cs
- DataObject.cs
- InertiaExpansionBehavior.cs
- XmlUtil.cs
- HeaderFilter.cs
- Point3DAnimationUsingKeyFrames.cs
- ModelUIElement3D.cs
- DataColumnMappingCollection.cs
- ReachSerializationUtils.cs
- ClientOptions.cs
- ViewgenContext.cs
- DbModificationClause.cs
- ColumnResizeUndoUnit.cs
- ImageButton.cs
- OneOfTypeConst.cs
- StringFormat.cs
- BinaryHeap.cs
- ItemsControlAutomationPeer.cs
- HttpCacheVary.cs
- SafeSecurityHandles.cs
- Frame.cs
- SqlServices.cs
- ErrorWebPart.cs
- SliderAutomationPeer.cs
- HotSpotCollectionEditor.cs
- DataBindingsDialog.cs
- DataComponentMethodGenerator.cs
- SiteMapNodeItemEventArgs.cs
- ZipArchive.cs
- Operator.cs
- SoapSchemaImporter.cs
- SqlXmlStorage.cs
- SrgsDocumentParser.cs
- TraceListeners.cs
- PagesChangedEventArgs.cs
- UserControl.cs
- HelpOperationInvoker.cs
- MinimizableAttributeTypeConverter.cs
- XmlSchemaDatatype.cs
- DataIdProcessor.cs
- JournalEntryListConverter.cs
- EventMappingSettingsCollection.cs
- IgnoreSection.cs
- XmlQueryType.cs
- ThemeableAttribute.cs
- SafePEFileHandle.cs
- AccessKeyManager.cs
- SafeNativeMethods.cs
- HelpEvent.cs
- AxisAngleRotation3D.cs
- ShapingWorkspace.cs
- Drawing.cs
- ReadContentAsBinaryHelper.cs
- TextBoxAutomationPeer.cs
- ToolStripOverflowButton.cs
- MasterPageCodeDomTreeGenerator.cs
- Main.cs
- EditorPartChrome.cs
- XmlNotation.cs
- EventProviderWriter.cs
- ResourceWriter.cs
- ContractCodeDomInfo.cs
- DirectoryNotFoundException.cs
- TargetControlTypeCache.cs
- HitTestParameters.cs
- ScriptReferenceEventArgs.cs
- PipeStream.cs
- RoutedEvent.cs
- CalendarBlackoutDatesCollection.cs
- OperationInfoBase.cs
- HtmlInputControl.cs
- SafeArrayRankMismatchException.cs
- RectangleGeometry.cs
- GeometryModel3D.cs
- ToolboxDataAttribute.cs
- XhtmlBasicPanelAdapter.cs
- XmlResolver.cs
- WindowsSysHeader.cs
- KnownTypes.cs
- XMLUtil.cs
- infer.cs
- RawStylusInputReport.cs
- MessageBodyMemberAttribute.cs
- Crc32Helper.cs