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
- Parameter.cs
- DefaultObjectMappingItemCollection.cs
- AssemblyFilter.cs
- BitmapSizeOptions.cs
- SpellerError.cs
- UserPersonalizationStateInfo.cs
- FtpWebRequest.cs
- DictionaryEntry.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- QilTargetType.cs
- HitTestWithPointDrawingContextWalker.cs
- RegexWriter.cs
- ThemeableAttribute.cs
- XmlSerializableReader.cs
- SqlUtil.cs
- DataGridViewTextBoxColumn.cs
- SiteMapDataSourceView.cs
- WsatServiceCertificate.cs
- ComProxy.cs
- ClientSettings.cs
- AmbientLight.cs
- ExpressionContext.cs
- ButtonDesigner.cs
- XPathDocumentIterator.cs
- TakeQueryOptionExpression.cs
- SoapIgnoreAttribute.cs
- URLString.cs
- UIPermission.cs
- DllNotFoundException.cs
- VisualStyleElement.cs
- TypedDatasetGenerator.cs
- DataGridLinkButton.cs
- ItemType.cs
- TempFiles.cs
- XmlILTrace.cs
- XmlSchemaCollection.cs
- EnumBuilder.cs
- EntityDataSourceContainerNameItem.cs
- TextSelectionProcessor.cs
- WindowsAuthenticationEventArgs.cs
- ReaderWriterLock.cs
- GlobalizationSection.cs
- SafeIUnknown.cs
- NonParentingControl.cs
- ContextItemManager.cs
- SubclassTypeValidator.cs
- FlagsAttribute.cs
- IWorkflowDebuggerService.cs
- ComAdminWrapper.cs
- SessionIDManager.cs
- GeometryGroup.cs
- BindingValueChangedEventArgs.cs
- ReadOnlyTernaryTree.cs
- Identity.cs
- TextElementEnumerator.cs
- SequenceFullException.cs
- DateTimeConverter2.cs
- StateMachineHelpers.cs
- AssemblyName.cs
- ZipIOCentralDirectoryFileHeader.cs
- ObjectViewQueryResultData.cs
- ScrollItemProviderWrapper.cs
- OutputBuffer.cs
- TransformerInfoCollection.cs
- AttributeExtensions.cs
- EnumUnknown.cs
- cookie.cs
- wgx_exports.cs
- SspiNegotiationTokenProvider.cs
- RepeatBehavior.cs
- RelationshipEntry.cs
- XmlExtensionFunction.cs
- ListMarkerLine.cs
- CodeIndexerExpression.cs
- SqlSupersetValidator.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- MenuItem.cs
- Vector3dCollection.cs
- SamlDelegatingWriter.cs
- ToolBarButtonClickEvent.cs
- PriorityItem.cs
- Odbc32.cs
- CollectionViewProxy.cs
- BulletedListDesigner.cs
- ColorMap.cs
- DataGridPageChangedEventArgs.cs
- EvidenceTypeDescriptor.cs
- RectAnimationUsingKeyFrames.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- SerializationAttributes.cs
- SafeRightsManagementQueryHandle.cs
- sqlstateclientmanager.cs
- LongValidatorAttribute.cs
- ContractMethodInfo.cs
- QilInvokeEarlyBound.cs
- selecteditemcollection.cs
- ValidatorCollection.cs
- ClientType.cs
- RadioButtonStandardAdapter.cs
- NamedElement.cs