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
- AsnEncodedData.cs
- LinqDataSourceSelectEventArgs.cs
- SqlProvider.cs
- TracePayload.cs
- ServiceActivationException.cs
- TypeBuilder.cs
- Object.cs
- CacheSection.cs
- X509Extension.cs
- DiscoveryServerProtocol.cs
- AsymmetricSignatureFormatter.cs
- QilList.cs
- JoinGraph.cs
- ProfilePropertySettingsCollection.cs
- Tuple.cs
- metrodevice.cs
- LogicalExpr.cs
- CommandLibraryHelper.cs
- OdbcDataReader.cs
- CompModHelpers.cs
- InvokeHandlers.cs
- ItemsChangedEventArgs.cs
- Parser.cs
- SmtpClient.cs
- LineBreak.cs
- OuterGlowBitmapEffect.cs
- WindowsProgressbar.cs
- TypeSemantics.cs
- EditorZone.cs
- EmptyControlCollection.cs
- SchemaContext.cs
- XmlDocumentFragment.cs
- CancellationHandler.cs
- PersistenceTypeAttribute.cs
- Rotation3DAnimation.cs
- UriTemplateQueryValue.cs
- AssemblyName.cs
- _TransmitFileOverlappedAsyncResult.cs
- LineSegment.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- ServiceMetadataPublishingElement.cs
- NumberAction.cs
- StringSource.cs
- ItemList.cs
- ImageListImageEditor.cs
- WorkflowOperationBehavior.cs
- Baml2006Reader.cs
- AnnouncementInnerClientCD1.cs
- SystemResourceHost.cs
- AbstractSvcMapFileLoader.cs
- TimerEventSubscriptionCollection.cs
- FramingEncoders.cs
- DependencyObjectProvider.cs
- ClientConfigPaths.cs
- DataSourceSerializationException.cs
- XmlHierarchyData.cs
- ScriptingWebServicesSectionGroup.cs
- StopStoryboard.cs
- EventLogInternal.cs
- SchemaInfo.cs
- HtmlObjectListAdapter.cs
- RotateTransform3D.cs
- CompareInfo.cs
- LinqDataSourceEditData.cs
- RtType.cs
- HtmlMeta.cs
- DebugView.cs
- Avt.cs
- HttpRawResponse.cs
- WCFModelStrings.Designer.cs
- IntegerValidatorAttribute.cs
- XmlSerializerImportOptions.cs
- DetailsViewRow.cs
- DiagnosticStrings.cs
- BookmarkScopeManager.cs
- Version.cs
- PrintingPermission.cs
- Filter.cs
- NotifyInputEventArgs.cs
- TdsEnums.cs
- ConvertEvent.cs
- EffectiveValueEntry.cs
- DataTableMappingCollection.cs
- BamlTreeMap.cs
- CommentEmitter.cs
- FileDataSourceCache.cs
- DefaultAsyncDataDispatcher.cs
- GridToolTip.cs
- BindableTemplateBuilder.cs
- CroppedBitmap.cs
- OutputCacheSettingsSection.cs
- ReadOnlyTernaryTree.cs
- ToolStripDropDownButton.cs
- SchemaCollectionPreprocessor.cs
- AudioStateChangedEventArgs.cs
- PersonalizationProviderHelper.cs
- FormViewUpdateEventArgs.cs
- HttpWebRequestElement.cs
- Assembly.cs
- DataGridViewSelectedRowCollection.cs