Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Base / MS / Internal / ComponentModel / DependencyPropertyAttribute.cs / 1 / 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
- ProxyWebPartConnectionCollection.cs
- ConnectionsZone.cs
- XmlBinaryWriter.cs
- ISAPIWorkerRequest.cs
- HiddenField.cs
- UpDownBaseDesigner.cs
- CustomAttributeFormatException.cs
- TcpProcessProtocolHandler.cs
- srgsitem.cs
- PropertyInformationCollection.cs
- ObjectSecurity.cs
- MemberExpressionHelper.cs
- SingleAnimation.cs
- MethodBuilder.cs
- TemplatePagerField.cs
- EncoderExceptionFallback.cs
- InputScopeConverter.cs
- FixedHyperLink.cs
- RemotingException.cs
- DefaultBinder.cs
- ImmComposition.cs
- LinkClickEvent.cs
- OleDbDataReader.cs
- SegmentTree.cs
- ellipse.cs
- ApplicationFileCodeDomTreeGenerator.cs
- GenericTextProperties.cs
- HttpListener.cs
- UTF32Encoding.cs
- XmlDataContract.cs
- HtmlInputButton.cs
- BreakSafeBase.cs
- FaultFormatter.cs
- SortedList.cs
- KnownColorTable.cs
- AlignmentYValidation.cs
- UserInitiatedNavigationPermission.cs
- CheckBoxField.cs
- CommandLineParser.cs
- IdentityHolder.cs
- DetailsViewDeletedEventArgs.cs
- AutoScrollExpandMessageFilter.cs
- SByteStorage.cs
- DeclaredTypeValidatorAttribute.cs
- ParserStreamGeometryContext.cs
- EntityCommandCompilationException.cs
- CodeSubDirectory.cs
- GreenMethods.cs
- TimeSpanStorage.cs
- PixelFormats.cs
- OperationInvokerBehavior.cs
- PropertyMap.cs
- ParameterBuilder.cs
- HuffmanTree.cs
- GradientStop.cs
- XpsSerializationManager.cs
- sortedlist.cs
- SoundPlayerAction.cs
- DispatcherSynchronizationContext.cs
- ThumbButtonInfoCollection.cs
- InstanceDescriptor.cs
- XmlCharCheckingWriter.cs
- MaskedTextBoxTextEditorDropDown.cs
- DesignerSerializerAttribute.cs
- WebPartAddingEventArgs.cs
- KeyboardEventArgs.cs
- StylusEditingBehavior.cs
- OutputCache.cs
- OLEDB_Util.cs
- SQLDoubleStorage.cs
- AttachedAnnotation.cs
- DropAnimation.xaml.cs
- WorkerRequest.cs
- JsonFormatWriterGenerator.cs
- CommandHelpers.cs
- CrossContextChannel.cs
- StylusPointProperties.cs
- xmlformatgeneratorstatics.cs
- HttpCookieCollection.cs
- ToolStripGripRenderEventArgs.cs
- QueuePropertyVariants.cs
- RawStylusInputCustomDataList.cs
- StrongNameKeyPair.cs
- OdbcParameterCollection.cs
- WindowsEditBox.cs
- DatePicker.cs
- LineBreakRecord.cs
- DoubleKeyFrameCollection.cs
- TreeNodeCollection.cs
- Signature.cs
- PopupEventArgs.cs
- MenuAutomationPeer.cs
- DataGridViewEditingControlShowingEventArgs.cs
- ClassHandlersStore.cs
- SettingsBase.cs
- RoleService.cs
- ExpressionEditorAttribute.cs
- Slider.cs
- ProxyHelper.cs
- StateBag.cs