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
- Registration.cs
- PieceDirectory.cs
- FixedSOMTableCell.cs
- SiteMapNodeItem.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- DrawingBrush.cs
- AutoCompleteStringCollection.cs
- ConnectionPoint.cs
- XPathBinder.cs
- HttpResponseBase.cs
- GridViewRow.cs
- GridViewCellAutomationPeer.cs
- ControlAdapter.cs
- MsmqInputChannelListener.cs
- SpellerHighlightLayer.cs
- ThreadPool.cs
- EncoderFallback.cs
- BitmapEffectrendercontext.cs
- DictionaryTraceRecord.cs
- NativeMethods.cs
- Expression.DebuggerProxy.cs
- TraceInternal.cs
- StringValidator.cs
- WindowsTreeView.cs
- DesignOnlyAttribute.cs
- ToolBarPanel.cs
- CodeTypeOfExpression.cs
- EditorPartCollection.cs
- TypeConstant.cs
- FormatterConverter.cs
- TablePatternIdentifiers.cs
- TextServicesManager.cs
- SqlProviderManifest.cs
- WrapPanel.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- InitiatorSessionSymmetricTransportSecurityProtocol.cs
- TimeSpanValidatorAttribute.cs
- HandlerFactoryCache.cs
- Style.cs
- Group.cs
- MarginsConverter.cs
- CodeCompileUnit.cs
- DataGridViewCellValueEventArgs.cs
- FlatButtonAppearance.cs
- HttpModuleAction.cs
- TableItemStyle.cs
- RefExpr.cs
- DataControlButton.cs
- PersistenceException.cs
- RootBrowserWindowAutomationPeer.cs
- SignedPkcs7.cs
- MenuItemStyleCollection.cs
- EventItfInfo.cs
- SizeChangedInfo.cs
- ThreadSafeList.cs
- SqlNotificationRequest.cs
- securestring.cs
- ObjectNavigationPropertyMapping.cs
- OutputCacheModule.cs
- TabPanel.cs
- SQLBinaryStorage.cs
- WebSysDescriptionAttribute.cs
- DrawingAttributeSerializer.cs
- ExeContext.cs
- SqlNotificationEventArgs.cs
- StrokeDescriptor.cs
- FixedTextBuilder.cs
- FlowLayoutPanel.cs
- BindUriHelper.cs
- LocalizationParserHooks.cs
- ExternalException.cs
- DefinitionUpdate.cs
- HttpRequest.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- WebSysDescriptionAttribute.cs
- StoreConnection.cs
- MemberCollection.cs
- NextPreviousPagerField.cs
- PersonalizationProvider.cs
- BaseDataListPage.cs
- ProtocolsConfigurationEntry.cs
- UnaryNode.cs
- ChtmlMobileTextWriter.cs
- sqlser.cs
- ExpressionBindingCollection.cs
- IOException.cs
- FormatterServicesNoSerializableCheck.cs
- MemberProjectedSlot.cs
- XmlBaseReader.cs
- __Error.cs
- WorkItem.cs
- ResourceIDHelper.cs
- CodeMemberField.cs
- HtmlTableCell.cs
- Size3DConverter.cs
- ErrorEventArgs.cs
- MediaElementAutomationPeer.cs
- TraceRecord.cs
- InvalidFilterCriteriaException.cs
- SecurityElement.cs