Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / ActivityCollectionMarkupSerializer.cs / 1305376 / ActivityCollectionMarkupSerializer.cs
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Reflection;
using System.Collections;
using System.Collections.Generic;
using System.Workflow.ComponentModel.Design;
using System.Xml;
#region Class ActivityCollectionMarkupSerializer
internal class ActivityCollectionMarkupSerializer : CollectionMarkupSerializer
{
protected internal override IList GetChildren(WorkflowMarkupSerializationManager serializationManager, object obj)
{
if (obj == null)
throw new ArgumentNullException("obj");
ActivityCollection activityCollection = obj as ActivityCollection;
if (activityCollection == null)
throw new ArgumentException(SR.GetString(SR.Error_SerializerTypeMismatch, typeof(ActivityCollection).FullName), "obj");
CompositeActivity compositeActivity = activityCollection.Owner as CompositeActivity;
if (compositeActivity != null && Helpers.IsCustomActivity(compositeActivity))
return null;
else
return base.GetChildren(serializationManager, obj);
}
protected internal override void ClearChildren(WorkflowMarkupSerializationManager serializationManager, object obj)
{
//Dont do anything for this call
}
protected internal override void AddChild(WorkflowMarkupSerializationManager serializationManager, object obj, object childObj)
{
if (obj == null)
throw new ArgumentNullException("obj");
if (childObj == null)
throw new ArgumentNullException("childObj");
ActivityCollection activityCollection = obj as ActivityCollection;
if (activityCollection == null)
throw new ArgumentException(SR.GetString(SR.Error_SerializerTypeMismatch, typeof(ActivityCollection).FullName), "obj");
Activity activity = childObj as Activity;
if (activity == null)
throw new InvalidOperationException(SR.GetString(SR.Error_ActivityCollectionSerializer, childObj.GetType().FullName));
CompositeActivity compositeActivity = activityCollection.Owner as CompositeActivity;
if (compositeActivity != null)
{
if (Helpers.IsCustomActivity(compositeActivity))
throw new InvalidOperationException(SR.GetString(SR.Error_CanNotAddActivityInBlackBoxActivity));
base.AddChild(serializationManager, obj, childObj);
}
}
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MessagePropertyFilter.cs
- XmlBinaryWriter.cs
- StorageInfo.cs
- ImageMetadata.cs
- TextChange.cs
- Win32.cs
- ApplicationFileCodeDomTreeGenerator.cs
- PrimitiveSchema.cs
- Condition.cs
- FormsAuthenticationEventArgs.cs
- CombinedGeometry.cs
- HyperlinkAutomationPeer.cs
- ZoneLinkButton.cs
- ReflectTypeDescriptionProvider.cs
- FileDialog.cs
- TextSchema.cs
- MetadataCacheItem.cs
- QuadraticBezierSegment.cs
- ComponentChangedEvent.cs
- RegexCode.cs
- XPathAncestorIterator.cs
- BinaryReader.cs
- SystemNetHelpers.cs
- SqlDataSourceFilteringEventArgs.cs
- DoubleLink.cs
- Normalizer.cs
- CodeChecksumPragma.cs
- TileBrush.cs
- Bezier.cs
- ModelItemCollectionImpl.cs
- EventLogHandle.cs
- JoinQueryOperator.cs
- SplitterCancelEvent.cs
- ClaimTypeElement.cs
- InternalConfigEventArgs.cs
- SecurityTokenResolver.cs
- XPathArrayIterator.cs
- FastEncoderWindow.cs
- BamlResourceContent.cs
- ObjectReaderCompiler.cs
- ConnectionPoolManager.cs
- EditingCoordinator.cs
- FastPropertyAccessor.cs
- JulianCalendar.cs
- XPathNodeInfoAtom.cs
- PopupRootAutomationPeer.cs
- MultiPropertyDescriptorGridEntry.cs
- Matrix3D.cs
- DefaultParameterValueAttribute.cs
- DatagridviewDisplayedBandsData.cs
- ObjectDataSourceMethodEventArgs.cs
- UdpUtility.cs
- DatagridviewDisplayedBandsData.cs
- CodeIndexerExpression.cs
- WebResponse.cs
- QuaternionRotation3D.cs
- GridViewPageEventArgs.cs
- TreeNodeSelectionProcessor.cs
- TiffBitmapDecoder.cs
- CaseCqlBlock.cs
- GlyphingCache.cs
- RegexRunnerFactory.cs
- XmlImplementation.cs
- DataGridViewRowsRemovedEventArgs.cs
- RepeatButtonAutomationPeer.cs
- ConfigurationUtility.cs
- RequiredAttributeAttribute.cs
- XmlHierarchyData.cs
- HttpConfigurationContext.cs
- ResXResourceWriter.cs
- ItemMap.cs
- _AutoWebProxyScriptHelper.cs
- ClientScriptManager.cs
- KoreanCalendar.cs
- DataRecordInternal.cs
- BufferedReadStream.cs
- TextViewBase.cs
- IxmlLineInfo.cs
- TextEditorTyping.cs
- QueryExecutionOption.cs
- AmbientLight.cs
- PersistencePipeline.cs
- TransactionWaitAsyncResult.cs
- Tokenizer.cs
- WindowCollection.cs
- WebServiceResponse.cs
- StylusOverProperty.cs
- QueryCacheEntry.cs
- SettingsContext.cs
- CredentialCache.cs
- ActivationServices.cs
- XmlKeywords.cs
- baseaxisquery.cs
- HtmlForm.cs
- Configuration.cs
- CatalogPartCollection.cs
- TraceHandlerErrorFormatter.cs
- PropertyReferenceSerializer.cs
- ExecutionContext.cs
- ItemsControlAutomationPeer.cs