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
- TraceUtils.cs
- TimeSpanConverter.cs
- _AcceptOverlappedAsyncResult.cs
- Point4D.cs
- ActivatedMessageQueue.cs
- ImageDrawing.cs
- ToolStripTextBox.cs
- SiteMapDesignerDataSourceView.cs
- WebPartDescription.cs
- DataTableClearEvent.cs
- EditingMode.cs
- SemanticBasicElement.cs
- Attributes.cs
- Pair.cs
- ConfigurationElement.cs
- WebServiceResponse.cs
- OleDbPermission.cs
- XmlSchemaExternal.cs
- MultiByteCodec.cs
- XamlRtfConverter.cs
- DocumentApplicationJournalEntry.cs
- iisPickupDirectory.cs
- cryptoapiTransform.cs
- LineMetrics.cs
- OutputCacheEntry.cs
- ReadOnlyTernaryTree.cs
- LabelDesigner.cs
- Win32KeyboardDevice.cs
- NavigationProperty.cs
- AdapterUtil.cs
- BulletedList.cs
- CharEnumerator.cs
- DataGridViewCellCancelEventArgs.cs
- VirtualPath.cs
- PipelineComponent.cs
- TransformCollection.cs
- SubstitutionList.cs
- FromReply.cs
- WebPartActionVerb.cs
- Rect3D.cs
- AutomationElementIdentifiers.cs
- SqlDataReader.cs
- SafeViewOfFileHandle.cs
- XpsManager.cs
- PeerToPeerException.cs
- MarkupExtensionParser.cs
- LookupNode.cs
- TraceContext.cs
- OAVariantLib.cs
- List.cs
- ExpressionNormalizer.cs
- PrintDialog.cs
- WindowInteropHelper.cs
- Configuration.cs
- TextHintingModeValidation.cs
- UserControlCodeDomTreeGenerator.cs
- PartManifestEntry.cs
- RegexWriter.cs
- XmlNodeChangedEventArgs.cs
- BindingCompleteEventArgs.cs
- XMLUtil.cs
- SqlConnectionPoolGroupProviderInfo.cs
- SvcMapFileLoader.cs
- DispatcherHookEventArgs.cs
- CheckBoxRenderer.cs
- ScriptServiceAttribute.cs
- FormatterServices.cs
- VirtualPathProvider.cs
- TTSVoice.cs
- RsaSecurityKey.cs
- XmlSchemaAppInfo.cs
- InternalPermissions.cs
- JulianCalendar.cs
- DoubleAnimation.cs
- NCryptNative.cs
- DataBindEngine.cs
- _DomainName.cs
- ExtensibleClassFactory.cs
- Overlapped.cs
- UnsafeNativeMethods.cs
- CompilerTypeWithParams.cs
- MouseWheelEventArgs.cs
- FormViewAutoFormat.cs
- DataGridDesigner.cs
- ToolStripDesignerAvailabilityAttribute.cs
- RayHitTestParameters.cs
- TextTreeUndoUnit.cs
- IWorkflowDebuggerService.cs
- TextWriterEngine.cs
- DataServices.cs
- reliableinputsessionchannel.cs
- LinqDataSourceValidationException.cs
- PolyBezierSegment.cs
- COSERVERINFO.cs
- TextSpan.cs
- ListBindingHelper.cs
- CodeConditionStatement.cs
- IssuanceLicense.cs
- ContravarianceAdapter.cs
- SoapTypeAttribute.cs