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
- HttpHostedTransportConfiguration.cs
- DocumentSchemaValidator.cs
- LogicalExpr.cs
- ReliableSessionBindingElementImporter.cs
- SafeFreeMibTable.cs
- QilValidationVisitor.cs
- StandardToolWindows.cs
- UIElementPropertyUndoUnit.cs
- RangeValuePattern.cs
- DropDownList.cs
- PeerPresenceInfo.cs
- ColorConverter.cs
- NativeMethodsCLR.cs
- AppDomain.cs
- PageParser.cs
- ContentControl.cs
- CollectionCodeDomSerializer.cs
- RightsManagementPermission.cs
- SQlBooleanStorage.cs
- DefaultAsyncDataDispatcher.cs
- PackagePartCollection.cs
- UnsafeNativeMethods.cs
- AnnotationElement.cs
- TreeIterator.cs
- FullTrustAssembliesSection.cs
- SpellCheck.cs
- CodeVariableReferenceExpression.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- HttpProtocolReflector.cs
- DataGridViewCheckBoxCell.cs
- SourceFileBuildProvider.cs
- StringBuilder.cs
- WebEventCodes.cs
- TextEncodedRawTextWriter.cs
- BrowserCapabilitiesFactory.cs
- XamlReaderConstants.cs
- HtmlEmptyTagControlBuilder.cs
- ToolStripPanelRow.cs
- MailWebEventProvider.cs
- SendOperation.cs
- CodeLinePragma.cs
- AnnouncementEndpoint.cs
- Transform3D.cs
- ClientFormsAuthenticationCredentials.cs
- EntryWrittenEventArgs.cs
- EncoderBestFitFallback.cs
- FunctionMappingTranslator.cs
- CatalogUtil.cs
- GridViewRowCollection.cs
- OperatingSystem.cs
- PackagePartCollection.cs
- UnsafeNetInfoNativeMethods.cs
- TagMapInfo.cs
- SafeNativeMethods.cs
- SingleAnimation.cs
- PropertyFilterAttribute.cs
- AuthenticationService.cs
- WebResourceUtil.cs
- DetailsViewPagerRow.cs
- WinCategoryAttribute.cs
- LambdaValue.cs
- FastEncoderStatics.cs
- SelectionRangeConverter.cs
- TemplateInstanceAttribute.cs
- DNS.cs
- DrawingContextDrawingContextWalker.cs
- OdbcConnectionString.cs
- SecurityElement.cs
- InstanceDataCollectionCollection.cs
- ConfigurationManagerInternalFactory.cs
- CustomPopupPlacement.cs
- WebBrowserBase.cs
- MergeFilterQuery.cs
- AdornerHitTestResult.cs
- ControlDesigner.cs
- LicFileLicenseProvider.cs
- GroupItemAutomationPeer.cs
- IndentTextWriter.cs
- Logging.cs
- AccessKeyManager.cs
- UserControlBuildProvider.cs
- ClientUrlResolverWrapper.cs
- SQLDecimalStorage.cs
- mediaeventshelper.cs
- ComponentResourceManager.cs
- ClientTargetCollection.cs
- TraceSection.cs
- RegistrySecurity.cs
- BitmapEditor.cs
- XPathArrayIterator.cs
- JournalEntry.cs
- GridItemPattern.cs
- FileLoadException.cs
- Quad.cs
- X509AudioLogo.cs
- ClassHandlersStore.cs
- SqlDependencyUtils.cs
- IntSecurity.cs
- _NegotiateClient.cs
- SecurityElement.cs