Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / FeatureManager.cs / 1305376 / FeatureManager.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Collections.Generic; using System.Activities.Presentation.Internal.PropertyEditing; using System.Runtime; class FeatureManager { EditingContext context; HashSetinitializedTypes; public FeatureManager(EditingContext context) { this.context = context; initializedTypes = new HashSet (); } public void InitializeFeature(Type modelType) { Fx.Assert(modelType != null, "Why would anyone initialize a feature that is not associated with a type"); if (!initializedTypes.Contains(modelType)) { initializedTypes.Add(modelType); foreach (FeatureAttribute featureAttribute in ExtensibilityAccessor.GetAttributes (modelType)) { if(typeof(Feature).IsAssignableFrom(featureAttribute.Type)) { Feature feature = (Feature)Activator.CreateInstance(featureAttribute.Type); if (feature != null) { feature.Initialize(this.context, modelType); } } } if (modelType.IsGenericType) { InitializeFeature(modelType.GetGenericTypeDefinition()); } } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System.Collections.Generic; using System.Activities.Presentation.Internal.PropertyEditing; using System.Runtime; class FeatureManager { EditingContext context; HashSet initializedTypes; public FeatureManager(EditingContext context) { this.context = context; initializedTypes = new HashSet (); } public void InitializeFeature(Type modelType) { Fx.Assert(modelType != null, "Why would anyone initialize a feature that is not associated with a type"); if (!initializedTypes.Contains(modelType)) { initializedTypes.Add(modelType); foreach (FeatureAttribute featureAttribute in ExtensibilityAccessor.GetAttributes (modelType)) { if(typeof(Feature).IsAssignableFrom(featureAttribute.Type)) { Feature feature = (Feature)Activator.CreateInstance(featureAttribute.Type); if (feature != null) { feature.Initialize(this.context, modelType); } } } if (modelType.IsGenericType) { InitializeFeature(modelType.GetGenericTypeDefinition()); } } } } } // 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
- BindingExpressionUncommonField.cs
- ResourceProviderFactory.cs
- TimeSpan.cs
- SystemResourceKey.cs
- XmlSiteMapProvider.cs
- BindingManagerDataErrorEventArgs.cs
- ResourceReferenceExpression.cs
- RegisteredExpandoAttribute.cs
- CompareValidator.cs
- CodeDOMUtility.cs
- remotingproxy.cs
- BuildProviderUtils.cs
- PenContexts.cs
- HostingEnvironmentException.cs
- ChannelBase.cs
- DataObjectFieldAttribute.cs
- DoubleAnimationUsingPath.cs
- RemotingSurrogateSelector.cs
- SqlCacheDependencySection.cs
- SmiMetaDataProperty.cs
- TableLayout.cs
- columnmapfactory.cs
- ViewStateException.cs
- MultiPageTextView.cs
- PropertySegmentSerializationProvider.cs
- Trace.cs
- XmlEventCache.cs
- ExpressionVisitorHelpers.cs
- SignedXmlDebugLog.cs
- CssTextWriter.cs
- SemanticResultKey.cs
- XmlCountingReader.cs
- TextBoxBase.cs
- CustomCredentialPolicy.cs
- TextDecoration.cs
- SponsorHelper.cs
- SymbolResolver.cs
- ListViewItemCollectionEditor.cs
- ConfigUtil.cs
- OperationInfo.cs
- GridViewPageEventArgs.cs
- DiscoveryRequestHandler.cs
- Pkcs7Signer.cs
- TrustSection.cs
- MD5.cs
- GetPageCompletedEventArgs.cs
- PositiveTimeSpanValidatorAttribute.cs
- FocusWithinProperty.cs
- FirstQueryOperator.cs
- WebEvents.cs
- StringAttributeCollection.cs
- TemplateControlBuildProvider.cs
- WebPartHeaderCloseVerb.cs
- MatrixAnimationUsingPath.cs
- XPathNodePointer.cs
- SnapshotChangeTrackingStrategy.cs
- XmlDataImplementation.cs
- TextBoxBase.cs
- RegexRunnerFactory.cs
- FixedSOMTable.cs
- HTMLTextWriter.cs
- CheckoutException.cs
- CorrelationManager.cs
- Pool.cs
- VisualBrush.cs
- MailSettingsSection.cs
- _CookieModule.cs
- AmbiguousMatchException.cs
- BaseTemplateParser.cs
- LineServices.cs
- NativeMethods.cs
- WindowsEditBoxRange.cs
- BuildProviderCollection.cs
- HitTestDrawingContextWalker.cs
- PeerTransportCredentialType.cs
- IgnoreFileBuildProvider.cs
- DBNull.cs
- PropertyValueChangedEvent.cs
- DataGridViewRowConverter.cs
- WindowsImpersonationContext.cs
- XmlAttributeAttribute.cs
- SafeLibraryHandle.cs
- xamlnodes.cs
- CodeCatchClause.cs
- RoutedEvent.cs
- GridItemCollection.cs
- DataRecordObjectView.cs
- GridViewDeleteEventArgs.cs
- SapiRecoInterop.cs
- PartitionedDataSource.cs
- RecordsAffectedEventArgs.cs
- EventLogPermission.cs
- TreeNodeBinding.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DiscoveryClientBindingElement.cs
- Vector.cs
- JsonFormatGeneratorStatics.cs
- SystemException.cs
- WindowsFormsLinkLabel.cs
- ResourceDictionaryCollection.cs