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
- LinkButton.cs
- BooleanKeyFrameCollection.cs
- PKCS1MaskGenerationMethod.cs
- EntityDataSourceMemberPath.cs
- DocumentationServerProtocol.cs
- WindowsTokenRoleProvider.cs
- OdbcConnectionString.cs
- CanExpandCollapseAllConverter.cs
- Queue.cs
- TableCellCollection.cs
- TextEditorParagraphs.cs
- TextureBrush.cs
- LayoutEngine.cs
- TextDocumentView.cs
- DocumentsTrace.cs
- DomNameTable.cs
- ReadOnlyNameValueCollection.cs
- WebPartConnectionsConfigureVerb.cs
- Quaternion.cs
- DataStorage.cs
- KnownColorTable.cs
- DBConnection.cs
- DispatcherFrame.cs
- ClientBuildManagerCallback.cs
- EmptyEnumerator.cs
- ComPersistableTypeElement.cs
- PageCodeDomTreeGenerator.cs
- NativeMethods.cs
- XhtmlBasicListAdapter.cs
- RankException.cs
- HandlerBase.cs
- AsyncDataRequest.cs
- TdsParserSessionPool.cs
- Speller.cs
- KeyGestureConverter.cs
- LocalValueEnumerator.cs
- MultipartIdentifier.cs
- IPipelineRuntime.cs
- SqlFunctionAttribute.cs
- ProfileService.cs
- CodeDirectoryCompiler.cs
- WebPartCatalogCloseVerb.cs
- BmpBitmapDecoder.cs
- DataGridViewCellStyleEditor.cs
- XmlTypeAttribute.cs
- InputScopeConverter.cs
- BitmapEffectDrawing.cs
- TypeRefElement.cs
- ToolStripContentPanel.cs
- TracedNativeMethods.cs
- RtfToken.cs
- RayHitTestParameters.cs
- ActiveXSite.cs
- SlipBehavior.cs
- ApplicationSecurityInfo.cs
- CustomCategoryAttribute.cs
- SafeJobHandle.cs
- ProjectedSlot.cs
- TemplateBindingExpressionConverter.cs
- DataServiceQuery.cs
- StorageScalarPropertyMapping.cs
- Fonts.cs
- QueryStringParameter.cs
- EncoderExceptionFallback.cs
- TraceContext.cs
- WebPartDisplayMode.cs
- RuleSettings.cs
- PointAnimation.cs
- OpenCollectionAsyncResult.cs
- SecurityElementBase.cs
- _LocalDataStore.cs
- RuntimeConfig.cs
- AttributeUsageAttribute.cs
- LoginCancelEventArgs.cs
- CounterSet.cs
- ComEventsHelper.cs
- ConditionedDesigner.cs
- TransformPatternIdentifiers.cs
- Relationship.cs
- PropertyCondition.cs
- smtppermission.cs
- ZipIOCentralDirectoryFileHeader.cs
- JoinTreeSlot.cs
- CodeTypeParameterCollection.cs
- LambdaCompiler.Binary.cs
- ModelUIElement3D.cs
- UnmanagedHandle.cs
- XmlSchemaSubstitutionGroup.cs
- QualifierSet.cs
- ProvidersHelper.cs
- SqlRemoveConstantOrderBy.cs
- ColumnTypeConverter.cs
- CompilerScope.cs
- PageVisual.cs
- EntitySqlQueryCacheKey.cs
- DataGridViewCellStyleConverter.cs
- _StreamFramer.cs
- TemplatePagerField.cs
- NavigationCommands.cs
- GridViewRow.cs