Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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
- coordinatorfactory.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs
- Setter.cs
- TrailingSpaceComparer.cs
- CalendarBlackoutDatesCollection.cs
- ComponentCollection.cs
- MulticastOption.cs
- KeyFrames.cs
- DbConvert.cs
- SQLInt32.cs
- ServiceSecurityContext.cs
- List.cs
- TextRangeAdaptor.cs
- RijndaelManaged.cs
- StorageAssociationSetMapping.cs
- ReflectPropertyDescriptor.cs
- TryLoadRunnableWorkflowCommand.cs
- LOSFormatter.cs
- ListBox.cs
- TextUtf8RawTextWriter.cs
- Config.cs
- DataComponentMethodGenerator.cs
- TypeLoadException.cs
- ObjectSerializerFactory.cs
- PaintEvent.cs
- GenericQueueSurrogate.cs
- DeferredRunTextReference.cs
- BackgroundFormatInfo.cs
- IInstanceContextProvider.cs
- CharacterMetrics.cs
- Automation.cs
- LoginCancelEventArgs.cs
- ValueUtilsSmi.cs
- UntypedNullExpression.cs
- TextFormatter.cs
- TypeSemantics.cs
- OleDbParameterCollection.cs
- DbModificationCommandTree.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- TraceHandler.cs
- ThemeableAttribute.cs
- CalendarDateRange.cs
- __Filters.cs
- TriState.cs
- InternalConfigRoot.cs
- SimpleHandlerFactory.cs
- ListViewUpdatedEventArgs.cs
- Label.cs
- LinqDataSourceStatusEventArgs.cs
- NotImplementedException.cs
- StorageConditionPropertyMapping.cs
- ClientProxyGenerator.cs
- QueryOutputWriter.cs
- ErrorInfoXmlDocument.cs
- SmiEventSink_Default.cs
- TableLayoutSettingsTypeConverter.cs
- ConfigurationElementCollection.cs
- NamespaceInfo.cs
- CodeObjectCreateExpression.cs
- QilXmlReader.cs
- EnumerableRowCollection.cs
- Pair.cs
- EntitySetBaseCollection.cs
- StyleSheetRefUrlEditor.cs
- _LocalDataStoreMgr.cs
- RefreshPropertiesAttribute.cs
- DbProviderManifest.cs
- Exception.cs
- DataReaderContainer.cs
- AccessDataSourceDesigner.cs
- SettingsPropertyCollection.cs
- WarningException.cs
- BinaryOperationBinder.cs
- UnsafeNativeMethodsMilCoreApi.cs
- HttpCapabilitiesSectionHandler.cs
- IRCollection.cs
- EventArgs.cs
- SizeLimitedCache.cs
- FileVersion.cs
- MultiSelectRootGridEntry.cs
- WebPartTracker.cs
- Visual3D.cs
- XmlSchemas.cs
- DbConnectionStringCommon.cs
- ThousandthOfEmRealDoubles.cs
- IdentityModelStringsVersion1.cs
- MediaContextNotificationWindow.cs
- StringUtil.cs
- CompensationDesigner.cs
- FormViewCommandEventArgs.cs
- ExtensionFile.cs
- FlowLayoutPanel.cs
- TextRange.cs
- DragEventArgs.cs
- ValuePattern.cs
- RoleService.cs
- Compiler.cs
- ClientTargetCollection.cs
- DocumentsTrace.cs
- RenderingBiasValidation.cs