Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / HandleInitializationContext.cs / 1305376 / HandleInitializationContext.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System; using System.Activities.Runtime; using System.Diagnostics.CodeAnalysis; using System.Runtime; [Fx.Tag.XamlVisible(false)] public sealed class HandleInitializationContext { ActivityExecutor executor; ActivityInstance scope; bool isDiposed; internal HandleInitializationContext(ActivityExecutor executor, ActivityInstance scope) { this.executor = executor; this.scope = scope; } internal ActivityInstance OwningActivityInstance { get { return this.scope; } } internal ActivityExecutor Executor { get { return this.executor; } } public THandle CreateAndInitializeHandle() where THandle : Handle { ThrowIfDisposed(); THandle value = Activator.CreateInstance (); value.Initialize(this); // If we have a scope, we need to add this new handle to the LocationEnvironment. if (this.scope != null) { this.scope.Environment.AddHandle(value); } // otherwise add it to the Executor. else { this.executor.AddHandle(value); } return value; } public void UninitializeHandle(Handle handle) { ThrowIfDisposed(); handle.Uninitialize(this); } internal object CreateAndInitializeHandle(Type handleType) { Fx.Assert(ActivityUtilities.IsHandle(handleType), "This should only be called with Handle subtypes."); object value = Activator.CreateInstance(handleType); ((Handle)value).Initialize(this); // If we have a scope, we need to add this new handle to the LocationEnvironment. if (this.scope != null) { this.scope.Environment.AddHandle((Handle)value); } // otherwise add it to the Executor. else { this.executor.AddHandle((Handle)value); } return value; } internal BookmarkScope CreateAndRegisterBookmarkScope() { return this.executor.BookmarkScopeManager.CreateAndRegisterScope(Guid.Empty); } internal void UnregisterBookmarkScope(BookmarkScope bookmarkScope) { Fx.Assert(bookmarkScope != null, "The sub instance should not equal null."); this.executor.BookmarkScopeManager.UnregisterScope(bookmarkScope); } void ThrowIfDisposed() { if (this.isDiposed) { throw FxTrace.Exception.AsError(new ObjectDisposedException(SR.HandleInitializationContextDisposed)); } } internal void Dispose() { this.isDiposed = true; } } } // 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
- SiteMapHierarchicalDataSourceView.cs
- MD5.cs
- infer.cs
- PointHitTestParameters.cs
- QilIterator.cs
- ProtectedProviderSettings.cs
- UserNameSecurityTokenProvider.cs
- SessionStateModule.cs
- CalendarDataBindingHandler.cs
- XmlQueryCardinality.cs
- BoundingRectTracker.cs
- COM2PictureConverter.cs
- Label.cs
- AudioDeviceOut.cs
- ControlBindingsCollection.cs
- TraceXPathNavigator.cs
- BaseConfigurationRecord.cs
- ToolStripItemDesigner.cs
- ScriptingRoleServiceSection.cs
- FieldAccessException.cs
- CodeIterationStatement.cs
- DoubleAnimationUsingPath.cs
- DBPropSet.cs
- PictureBox.cs
- RowParagraph.cs
- EncryptedPackageFilter.cs
- TableItemPattern.cs
- ApplicationDirectory.cs
- DataTemplateSelector.cs
- ArglessEventHandlerProxy.cs
- EditingMode.cs
- TypeReference.cs
- Security.cs
- Visitor.cs
- HtmlTableRow.cs
- SqlUtil.cs
- MappingItemCollection.cs
- ParameterToken.cs
- MetadataCache.cs
- sqlmetadatafactory.cs
- SiteMapNodeItemEventArgs.cs
- DiscoveryReference.cs
- DispatcherFrame.cs
- MDIClient.cs
- MILUtilities.cs
- StyleModeStack.cs
- basemetadatamappingvisitor.cs
- TextFormatterHost.cs
- GraphicsState.cs
- FileClassifier.cs
- UIHelper.cs
- BlockUIContainer.cs
- TypedAsyncResult.cs
- RawStylusInputCustomDataList.cs
- Table.cs
- CustomAttributeSerializer.cs
- XmlReturnReader.cs
- TransformCryptoHandle.cs
- IPHostEntry.cs
- BindableTemplateBuilder.cs
- ConversionContext.cs
- DSASignatureDeformatter.cs
- SafeNativeMethods.cs
- XmlAtomErrorReader.cs
- UdpChannelListener.cs
- ExpanderAutomationPeer.cs
- HebrewCalendar.cs
- RelationshipFixer.cs
- XsltContext.cs
- RegexMatchCollection.cs
- Base64Stream.cs
- ToolboxItemCollection.cs
- NegatedCellConstant.cs
- EventToken.cs
- OrthographicCamera.cs
- TransformerInfo.cs
- RemoteCryptoSignHashRequest.cs
- TreeIterator.cs
- TargetInvocationException.cs
- StylusTouchDevice.cs
- CompiledQueryCacheKey.cs
- Span.cs
- IODescriptionAttribute.cs
- RangeValueProviderWrapper.cs
- ParagraphVisual.cs
- SspiHelper.cs
- CodeRemoveEventStatement.cs
- RequestBringIntoViewEventArgs.cs
- UnsafeNativeMethodsTablet.cs
- HtmlEmptyTagControlBuilder.cs
- ContainsRowNumberChecker.cs
- DbInsertCommandTree.cs
- User.cs
- HighlightComponent.cs
- OleDbCommand.cs
- PlainXmlDeserializer.cs
- Helpers.cs
- RemotingAttributes.cs
- StructuralType.cs
- HtmlInputButton.cs