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
- SqlComparer.cs
- ErrorActivity.cs
- CommonDialog.cs
- ConversionValidationRule.cs
- InputProviderSite.cs
- MessageEncodingBindingElement.cs
- ContourSegment.cs
- PolyQuadraticBezierSegment.cs
- TreeViewAutomationPeer.cs
- RoutedEventArgs.cs
- EncryptedData.cs
- HexParser.cs
- PeerCredential.cs
- SafeCertificateStore.cs
- Point3DConverter.cs
- ValueSerializer.cs
- FilterInvalidBodyAccessException.cs
- DescendantOverDescendantQuery.cs
- AncillaryOps.cs
- MultipartIdentifier.cs
- documentsequencetextview.cs
- WebPartDisplayMode.cs
- EncoderBestFitFallback.cs
- StructuredType.cs
- AndCondition.cs
- CachedCompositeFamily.cs
- CombinedGeometry.cs
- XmlSortKeyAccumulator.cs
- XamlContextStack.cs
- WizardStepBase.cs
- XmlSchemaAny.cs
- ViewSimplifier.cs
- PageTheme.cs
- DataObject.cs
- GridSplitter.cs
- ReadonlyMessageFilter.cs
- SafeRightsManagementSessionHandle.cs
- HtmlUtf8RawTextWriter.cs
- SimpleBitVector32.cs
- DefaultMergeHelper.cs
- GestureRecognizer.cs
- MenuCommandsChangedEventArgs.cs
- ProfileBuildProvider.cs
- ElapsedEventArgs.cs
- TiffBitmapDecoder.cs
- DirectoryNotFoundException.cs
- MatrixCamera.cs
- CodePropertyReferenceExpression.cs
- FontStretch.cs
- QuaternionKeyFrameCollection.cs
- InheritedPropertyDescriptor.cs
- listitem.cs
- DataControlImageButton.cs
- SecurityHelper.cs
- ChtmlSelectionListAdapter.cs
- HtmlLabelAdapter.cs
- TextViewBase.cs
- PanelDesigner.cs
- MouseBinding.cs
- ScriptBehaviorDescriptor.cs
- PersonalizablePropertyEntry.cs
- PrePostDescendentsWalker.cs
- FullTextBreakpoint.cs
- basecomparevalidator.cs
- XPathSelectionIterator.cs
- NameValueFileSectionHandler.cs
- TagMapInfo.cs
- SmiRecordBuffer.cs
- ProvidersHelper.cs
- Journal.cs
- WebHttpSecurityModeHelper.cs
- ContentType.cs
- DSASignatureFormatter.cs
- NodeLabelEditEvent.cs
- PathHelper.cs
- CngKeyBlobFormat.cs
- SweepDirectionValidation.cs
- ExpandoObject.cs
- CodeFieldReferenceExpression.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- StylusPointProperties.cs
- HostingMessageProperty.cs
- MergeFailedEvent.cs
- IconBitmapDecoder.cs
- Token.cs
- BrowserCapabilitiesFactory.cs
- ProcessManager.cs
- PermissionSet.cs
- PointAnimationUsingKeyFrames.cs
- Accessible.cs
- PartialCachingControl.cs
- SqlTypeSystemProvider.cs
- HttpListenerPrefixCollection.cs
- BlurEffect.cs
- RegistrationServices.cs
- PopupEventArgs.cs
- QueryResponse.cs
- ColorMatrix.cs
- templategroup.cs
- Documentation.cs