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
- CodeTypeDeclarationCollection.cs
- DesignTimeVisibleAttribute.cs
- TextParaLineResult.cs
- TextEvent.cs
- RouteParser.cs
- RecognizerInfo.cs
- Rect3DValueSerializer.cs
- DynamicEntity.cs
- XPathDocumentIterator.cs
- HierarchicalDataBoundControl.cs
- EntityDataSourceColumn.cs
- SafeFileHandle.cs
- XmlSchemaAnnotated.cs
- HtmlEmptyTagControlBuilder.cs
- BitmapEffectDrawingContent.cs
- EntityReference.cs
- NumberSubstitution.cs
- TypefaceMetricsCache.cs
- ILGenerator.cs
- RectangleHotSpot.cs
- SectionVisual.cs
- EventProviderTraceListener.cs
- DataGridViewCellPaintingEventArgs.cs
- AtomMaterializerLog.cs
- Empty.cs
- LinkLabelLinkClickedEvent.cs
- RoleManagerEventArgs.cs
- Range.cs
- DockEditor.cs
- IncrementalReadDecoders.cs
- SystemWebExtensionsSectionGroup.cs
- Repeater.cs
- ByteKeyFrameCollection.cs
- AssemblySettingAttributes.cs
- XmlLanguage.cs
- DotExpr.cs
- UidManager.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- MsmqTransportSecurityElement.cs
- XmlResolver.cs
- LineVisual.cs
- SingleAnimationUsingKeyFrames.cs
- PropertyMapper.cs
- EventItfInfo.cs
- NodeLabelEditEvent.cs
- TextCompositionManager.cs
- RequestCacheEntry.cs
- ActivityFunc.cs
- TextRangeAdaptor.cs
- IndexedString.cs
- AnimationClock.cs
- StylusPointProperties.cs
- BitmapFrameDecode.cs
- XamlDebuggerXmlReader.cs
- OdbcHandle.cs
- ListItemCollection.cs
- HttpCapabilitiesEvaluator.cs
- EventMappingSettingsCollection.cs
- XmlSignatureProperties.cs
- PolyBezierSegment.cs
- Utils.cs
- Context.cs
- RawStylusInput.cs
- ContainerControl.cs
- DiscoveryDocument.cs
- TransactionChannelFaultConverter.cs
- ServiceContractAttribute.cs
- AdornerDecorator.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- CookielessHelper.cs
- SizeF.cs
- HttpProxyTransportBindingElement.cs
- RewritingProcessor.cs
- FixedSOMLineRanges.cs
- InputLanguageCollection.cs
- Executor.cs
- Selection.cs
- ProcessHostServerConfig.cs
- OleCmdHelper.cs
- DataGridCellInfo.cs
- RSAProtectedConfigurationProvider.cs
- LoginAutoFormat.cs
- BooleanStorage.cs
- SubMenuStyleCollection.cs
- ProxyHwnd.cs
- DateBoldEvent.cs
- QueryOperationResponseOfT.cs
- Pkcs9Attribute.cs
- IfAction.cs
- FixedSOMPageConstructor.cs
- ThreadPool.cs
- UnescapedXmlDiagnosticData.cs
- PolicyLevel.cs
- XhtmlTextWriter.cs
- BamlLocalizer.cs
- XmlAnyElementAttribute.cs
- TransactionScope.cs
- loginstatus.cs
- SEHException.cs
- PartDesigner.cs