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
- DataListItem.cs
- TextChange.cs
- SqlDataAdapter.cs
- ContentDisposition.cs
- TranslateTransform.cs
- UnsafeCollabNativeMethods.cs
- QilFactory.cs
- ToolStripDesignerAvailabilityAttribute.cs
- ThreadStartException.cs
- HttpDebugHandler.cs
- GridViewEditEventArgs.cs
- Convert.cs
- WorkflowFormatterBehavior.cs
- FileDialog_Vista_Interop.cs
- ToolStripItemImageRenderEventArgs.cs
- EDesignUtil.cs
- XmlSchemaAppInfo.cs
- EncryptedXml.cs
- SqlNode.cs
- WindowsIPAddress.cs
- WebReferencesBuildProvider.cs
- DesignerDataTableBase.cs
- ImageAnimator.cs
- BrowserCapabilitiesCodeGenerator.cs
- OutputWindow.cs
- ManagementClass.cs
- FlatButtonAppearance.cs
- XmlAttribute.cs
- RijndaelCryptoServiceProvider.cs
- DBParameter.cs
- BindingWorker.cs
- CacheSection.cs
- CompleteWizardStep.cs
- TempEnvironment.cs
- ErrorEventArgs.cs
- PauseStoryboard.cs
- PlanCompiler.cs
- BufferAllocator.cs
- FilteredAttributeCollection.cs
- NotFiniteNumberException.cs
- XmlChildEnumerator.cs
- WebControlsSection.cs
- TrustLevelCollection.cs
- DigitShape.cs
- UpdatePanelTriggerCollection.cs
- SpellerHighlightLayer.cs
- RemoteWebConfigurationHost.cs
- SchemaHelper.cs
- CodeSubDirectoriesCollection.cs
- MutexSecurity.cs
- Color.cs
- MouseDevice.cs
- HttpHandlerActionCollection.cs
- Int32EqualityComparer.cs
- BaseValidatorDesigner.cs
- UnmanagedMemoryStreamWrapper.cs
- XmlSchemaSimpleType.cs
- XmlWellformedWriterHelpers.cs
- CommonDialog.cs
- CompilerHelpers.cs
- UDPClient.cs
- FillRuleValidation.cs
- PointAnimationClockResource.cs
- CompilerLocalReference.cs
- TreeBuilder.cs
- NetworkStream.cs
- DSACryptoServiceProvider.cs
- PersonalizationStateInfoCollection.cs
- XmlILStorageConverter.cs
- TypeDescriptionProvider.cs
- CanonicalizationDriver.cs
- MessageBox.cs
- CorePropertiesFilter.cs
- TypeInfo.cs
- ItemDragEvent.cs
- SQLChars.cs
- RegexTree.cs
- SafeHandles.cs
- XPathAncestorQuery.cs
- MessageBox.cs
- DispatcherEventArgs.cs
- ConfigurationStrings.cs
- TextServicesProperty.cs
- XmlSchemaObjectTable.cs
- LabelLiteral.cs
- Operators.cs
- HandleCollector.cs
- MobileContainerDesigner.cs
- ParallelTimeline.cs
- NeutralResourcesLanguageAttribute.cs
- RegexWriter.cs
- RelationshipEndCollection.cs
- KeyEvent.cs
- HandleCollector.cs
- RegexCharClass.cs
- ConfigViewGenerator.cs
- PermissionSetTriple.cs
- DispatcherFrame.cs
- CellQuery.cs
- KeyProperty.cs