Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs / 1305600 / AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Windows { using System; using System.ComponentModel; ////// This attribute declares that an attached property can only be attached /// to an object that defines the given attribute on its class. /// [AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public sealed class AttachedPropertyBrowsableWhenAttributePresentAttribute : AttachedPropertyBrowsableAttribute { //------------------------------------------------------ // // Constructors // //----------------------------------------------------- ////// Creates a new AttachedPropertyBrowsableWhenAttributePresentAttribute. Provide /// the type of attribute that, when present on a dependency object, /// should make the property browsable. /// public AttachedPropertyBrowsableWhenAttributePresentAttribute(Type attributeType) { if (attributeType == null) throw new ArgumentNullException("attributeType"); _attributeType = attributeType; } //----------------------------------------------------- // // Public Properties // //----------------------------------------------------- ////// Returns the attribute type passed into the constructor. /// public Type AttributeType { get { return _attributeType; } } //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- ////// Overrides Object.Equals to implement correct equality semantics for this /// attribute. /// public override bool Equals(object obj) { AttachedPropertyBrowsableWhenAttributePresentAttribute other = obj as AttachedPropertyBrowsableWhenAttributePresentAttribute; if (other == null) return false; return _attributeType == other._attributeType; } ////// Overrides Object.GetHashCode to implement correct hashing semantics. /// public override int GetHashCode() { return _attributeType.GetHashCode(); } //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ ////// Returns true if the dependency object class defines an attribute /// of the same type contained in this attribute. The attribute must /// differ from the "default" state of the attribute. /// internal override bool IsBrowsable(DependencyObject d, DependencyProperty dp) { if (d == null) throw new ArgumentNullException("d"); if (dp == null) throw new ArgumentNullException("dp"); Attribute a = TypeDescriptor.GetAttributes(d)[_attributeType]; return (a != null && !a.IsDefaultAttribute()); } //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ private Type _attributeType; } } // 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
- AttributeProviderAttribute.cs
- Int16KeyFrameCollection.cs
- TransactedReceiveScope.cs
- COM2PictureConverter.cs
- ExtensionElementCollection.cs
- ByteRangeDownloader.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- XmlSchemaSimpleContentExtension.cs
- DataConnectionHelper.cs
- GenericPrincipal.cs
- LockedAssemblyCache.cs
- Page.cs
- GraphicsState.cs
- DataBinding.cs
- HtmlLink.cs
- DragCompletedEventArgs.cs
- BinaryNode.cs
- Positioning.cs
- DataGridState.cs
- NodeInfo.cs
- WebPartZoneAutoFormat.cs
- FormViewCommandEventArgs.cs
- WinFormsSecurity.cs
- DataTableMappingCollection.cs
- RolePrincipal.cs
- XmlCharCheckingReader.cs
- CultureMapper.cs
- Timer.cs
- AvTraceFormat.cs
- WebPartEditVerb.cs
- HttpCookie.cs
- LinkTarget.cs
- WindowsGraphicsCacheManager.cs
- EngineSite.cs
- StateDesigner.TransitionInfo.cs
- IPAddressCollection.cs
- SchemaLookupTable.cs
- InputReportEventArgs.cs
- MaskedTextBox.cs
- SqlFlattener.cs
- SelectionItemProviderWrapper.cs
- AddInEnvironment.cs
- DBPropSet.cs
- AccessDataSourceView.cs
- EntityStoreSchemaFilterEntry.cs
- XmlSerializableServices.cs
- RegularExpressionValidator.cs
- EntityDataSourceSelectedEventArgs.cs
- ClientOptions.cs
- BrowserCapabilitiesCodeGenerator.cs
- GlyphingCache.cs
- CollectionBuilder.cs
- ProtocolsConfiguration.cs
- GroupItem.cs
- PenLineJoinValidation.cs
- SqlDataSourceQuery.cs
- RelatedCurrencyManager.cs
- EntityCommandDefinition.cs
- PlanCompiler.cs
- DataListAutoFormat.cs
- SelectedCellsChangedEventArgs.cs
- SerTrace.cs
- DistinctQueryOperator.cs
- PerfCounters.cs
- DataGridColumnCollection.cs
- TableAutomationPeer.cs
- DBSchemaRow.cs
- SchemaObjectWriter.cs
- iisPickupDirectory.cs
- FixedTextSelectionProcessor.cs
- EventMappingSettingsCollection.cs
- ConsoleKeyInfo.cs
- WebMethodAttribute.cs
- FilteredAttributeCollection.cs
- MailHeaderInfo.cs
- InputReport.cs
- Converter.cs
- CompilerScopeManager.cs
- PersonalizationEntry.cs
- WmlValidationSummaryAdapter.cs
- ClonableStack.cs
- EntityDataSourceReferenceGroup.cs
- BamlCollectionHolder.cs
- InkCanvasInnerCanvas.cs
- WindowsTokenRoleProvider.cs
- DoubleConverter.cs
- NotSupportedException.cs
- ListViewGroup.cs
- ListBindableAttribute.cs
- ClientBuildManagerCallback.cs
- Highlights.cs
- OraclePermission.cs
- ScrollChrome.cs
- ViewManager.cs
- Query.cs
- SqlCommandBuilder.cs
- CodeSubDirectory.cs
- CellLabel.cs
- OutOfMemoryException.cs
- RectangleHotSpot.cs