Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / EditorOptionAttribute.cs / 1305376 / EditorOptionAttribute.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.PropertyEditing { using System.Runtime; using System.Collections; [Fx.Tag.XamlVisible(false)] [AttributeUsage(AttributeTargets.Property | AttributeTargets.Class, AllowMultiple = true)] sealed class EditorOptionsAttribute : Attribute { public string Name { get; set; } public object Value { get; set; } //TypeId is needed so that multiple EditorOptionsAttribute could be added to the same type/property public override object TypeId { get { return new EditorOptionsAttributeTypeId { BaseTypeId = base.TypeId, Name = this.Name, Value = this.Value }; } } public static T GetOptionValue(IEnumerable attributes, string optionName, T defaultValue) { object optionValue; if (TryGetOptionValue(attributes, optionName, out optionValue)) { return (T)optionValue; } return defaultValue; } public static bool TryGetOptionValue(IEnumerable attributes, string optionName, out object optionValue) { foreach (Attribute attribute in attributes) { EditorOptionsAttribute optionAttribute = attribute as EditorOptionsAttribute; if (optionAttribute != null && optionAttribute.Name.Equals(optionName)) { optionValue = optionAttribute.Value; return true; } } optionValue = null; return false; } //A class to uniquely identify a name-value pair class EditorOptionsAttributeTypeId { public object BaseTypeId { get; set; } public string Name { get; set; } public object Value { get; set; } public override bool Equals(object obj) { EditorOptionsAttributeTypeId that = obj as EditorOptionsAttributeTypeId; if (that == null) return false; return this.BaseTypeId == that.BaseTypeId && string.Equals(this.Name, that.Name) && object.Equals(this.Value, that.Value); } public override int GetHashCode() { return (BaseTypeId == null ? 0 : BaseTypeId.GetHashCode()) ^ (Name == null ? 0 : Name.GetHashCode()) ^ (Value == null ? 0 : Value.GetHashCode()); } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GridItemPatternIdentifiers.cs
- GlyphsSerializer.cs
- SmtpTransport.cs
- GenerateScriptTypeAttribute.cs
- XmlDomTextWriter.cs
- DescendantOverDescendantQuery.cs
- ModelPerspective.cs
- SoapProcessingBehavior.cs
- StringUtil.cs
- ParserHooks.cs
- ListViewGroup.cs
- LoadMessageLogger.cs
- ValidationResults.cs
- MailMessage.cs
- _OverlappedAsyncResult.cs
- EventArgs.cs
- RenderData.cs
- DocumentPageHost.cs
- UInt64Storage.cs
- PrintControllerWithStatusDialog.cs
- IntersectQueryOperator.cs
- SecurityToken.cs
- WebMessageEncodingBindingElement.cs
- DataMisalignedException.cs
- HtmlInputButton.cs
- SimpleFileLog.cs
- BaseTemplateBuildProvider.cs
- Sql8ConformanceChecker.cs
- Sequence.cs
- StorageComplexTypeMapping.cs
- util.cs
- DataKeyCollection.cs
- HtmlHead.cs
- Page.cs
- SiteMapNode.cs
- Win32.cs
- CreateUserErrorEventArgs.cs
- WebScriptEnablingElement.cs
- Parameter.cs
- CacheSection.cs
- DesignerHierarchicalDataSourceView.cs
- AsyncDataRequest.cs
- PerfCounters.cs
- TypedReference.cs
- Merger.cs
- WebBrowserUriTypeConverter.cs
- StateRuntime.cs
- RectangleGeometry.cs
- ToolTipAutomationPeer.cs
- precedingsibling.cs
- QueryException.cs
- ExternalDataExchangeService.cs
- TextEditorTyping.cs
- MimeReflector.cs
- BoundsDrawingContextWalker.cs
- ConsumerConnectionPointCollection.cs
- ScrollBar.cs
- BitmapEffectDrawingContent.cs
- PlacementWorkspace.cs
- DiscoveryMessageSequenceCD1.cs
- HTTPNotFoundHandler.cs
- ToolStripTextBox.cs
- AdapterDictionary.cs
- Page.cs
- XpsStructure.cs
- PeerNameRecord.cs
- HScrollBar.cs
- DateTimeConstantAttribute.cs
- DependencyObjectProvider.cs
- CompositeDesignerAccessibleObject.cs
- FusionWrap.cs
- TiffBitmapDecoder.cs
- SqlCommandSet.cs
- LazyLoadBehavior.cs
- NetStream.cs
- Ray3DHitTestResult.cs
- DecimalMinMaxAggregationOperator.cs
- WinCategoryAttribute.cs
- DataObject.cs
- PairComparer.cs
- MILUtilities.cs
- SessionEndedEventArgs.cs
- IPPacketInformation.cs
- StatusBar.cs
- BindStream.cs
- Span.cs
- CompoundFileStorageReference.cs
- EnumValidator.cs
- TraversalRequest.cs
- WpfXamlType.cs
- CqlParserHelpers.cs
- Utils.cs
- ProcessRequestArgs.cs
- TextControl.cs
- DataSourceXmlClassAttribute.cs
- SaveFileDialog.cs
- SafeSecurityHelper.cs
- ImageBrush.cs
- DeadCharTextComposition.cs
- ContractComponent.cs