Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Handle.cs / 1305376 / Handle.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Activities { using System; using System.Runtime; using System.Runtime.Serialization; [DataContract] public abstract class Handle { [DataMember(EmitDefaultValue = false)] ActivityInstance owner; // We check uninitialized because it should be false more often [DataMember(EmitDefaultValue = false)] bool isUninitialized; protected Handle() { this.isUninitialized = true; } public ActivityInstance Owner { get { return this.owner; } } public string ExecutionPropertyName { get { return this.GetType().FullName; } } [DataMember(EmitDefaultValue = false)] internal bool CanBeRemovedWithExecutingChildren { get; set; } internal bool IsInitialized { get { return !this.isUninitialized; } } internal static string GetPropertyName(Type handleType) { Fx.Assert(TypeHelper.AreTypesCompatible(handleType, typeof(Handle)), "must pass in a Handle-based type here"); return handleType.FullName; } internal void Initialize(HandleInitializationContext context) { this.owner = context.OwningActivityInstance; this.isUninitialized = false; OnInitialize(context); } internal void Reinitialize(ActivityInstance owner) { this.owner = owner; } internal void Uninitialize(HandleInitializationContext context) { OnUninitialize(context); this.isUninitialized = true; } protected virtual void OnInitialize(HandleInitializationContext context) { } protected virtual void OnUninitialize(HandleInitializationContext context) { } protected void ThrowIfUninitialized() { if (this.isUninitialized) { throw FxTrace.Exception.AsError(new InvalidOperationException(SR.HandleNotInitialized)); } } } } // 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
- BaseProcessor.cs
- InspectionWorker.cs
- TransformerConfigurationWizardBase.cs
- AssemblyNameProxy.cs
- URLMembershipCondition.cs
- HtmlTableCellCollection.cs
- ConfigurationHandlersInstallComponent.cs
- HitTestWithGeometryDrawingContextWalker.cs
- IApplicationTrustManager.cs
- ResourceDescriptionAttribute.cs
- InputBindingCollection.cs
- CodeThrowExceptionStatement.cs
- SortQuery.cs
- XPathNode.cs
- SingleBodyParameterMessageFormatter.cs
- WizardForm.cs
- CodeTypeDeclarationCollection.cs
- IUnknownConstantAttribute.cs
- Task.cs
- DesignerActionKeyboardBehavior.cs
- initElementDictionary.cs
- Util.cs
- StoreConnection.cs
- XmlQueryStaticData.cs
- Registry.cs
- PrintEvent.cs
- DataGridViewCellStyleContentChangedEventArgs.cs
- MemberHolder.cs
- CodeTypeDeclaration.cs
- CharUnicodeInfo.cs
- ServiceParser.cs
- PositiveTimeSpanValidator.cs
- LambdaSerializationException.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- _HeaderInfo.cs
- EventPropertyMap.cs
- DataServiceException.cs
- WebPartConnectionsCancelEventArgs.cs
- XMLDiffLoader.cs
- ImageBrush.cs
- RoleBoolean.cs
- DrawTreeNodeEventArgs.cs
- SettingsPropertyWrongTypeException.cs
- _IPv6Address.cs
- WeakEventTable.cs
- SequentialUshortCollection.cs
- SettingsPropertyIsReadOnlyException.cs
- Converter.cs
- TextEffectCollection.cs
- EntityDataSourceContainerNameConverter.cs
- IdentityReference.cs
- DesignBindingPicker.cs
- PersonalizationAdministration.cs
- ComboBox.cs
- OutOfMemoryException.cs
- SqlInfoMessageEvent.cs
- Identity.cs
- StreamWriter.cs
- FusionWrap.cs
- SoapExtensionReflector.cs
- OleDbRowUpdatingEvent.cs
- HtmlElementEventArgs.cs
- StylusPointProperties.cs
- TextTreeNode.cs
- QueryCacheManager.cs
- CompositeScriptReferenceEventArgs.cs
- MemoryStream.cs
- EntityStoreSchemaFilterEntry.cs
- TextEditorParagraphs.cs
- GroupBoxRenderer.cs
- Material.cs
- IntSecurity.cs
- ColorContextHelper.cs
- UnsafeMethods.cs
- ImagingCache.cs
- Base64Stream.cs
- ISAPIWorkerRequest.cs
- DeclaredTypeValidatorAttribute.cs
- HostingEnvironment.cs
- ReferencedAssembly.cs
- RoleService.cs
- Vector3dCollection.cs
- StringUtil.cs
- EmbeddedObject.cs
- HttpCachePolicy.cs
- LogExtent.cs
- CapiHashAlgorithm.cs
- SqlUserDefinedTypeAttribute.cs
- AccessorTable.cs
- PlaceHolder.cs
- StylusPointPropertyInfoDefaults.cs
- TdsRecordBufferSetter.cs
- LockCookie.cs
- KeyBinding.cs
- StreamInfo.cs
- GeometryConverter.cs
- OleDbErrorCollection.cs
- TypeToStringValueConverter.cs
- PatternMatchRules.cs
- RegisteredArrayDeclaration.cs