Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / ActivityCodeDomSerializer.cs / 1305376 / ActivityCodeDomSerializer.cs
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.CodeDom;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Collections;
using System.Resources;
using System.Workflow.ComponentModel.Design;
using System.Collections.Generic;
using Microsoft.CSharp;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Compiler;
using System.CodeDom.Compiler;
using System.IO;
using System.Reflection;
using System.Diagnostics;
#region Class ActivityCodeDomSerializer
public class ActivityCodeDomSerializer : DependencyObjectCodeDomSerializer
{
public static readonly DependencyProperty MarkupFileNameProperty = DependencyProperty.RegisterAttached("MarkupFileName", typeof(string), typeof(ActivityCodeDomSerializer), new PropertyMetadata(null, new Attribute[] { new DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Hidden) }));
public ActivityCodeDomSerializer()
{
}
#region CodeDomSerializer overrides
public override object Serialize(IDesignerSerializationManager manager, object obj)
{
if (manager == null)
throw new ArgumentNullException("manager");
if (obj == null)
throw new ArgumentNullException("obj");
Activity activity = obj as Activity;
if (activity == null)
throw new ArgumentException(SR.GetString(SR.Error_UnexpectedArgumentType, typeof(Activity).FullName), "obj");
if (Helpers.IsActivityLocked(activity))
return null;
CodeStatementCollection retVal = base.Serialize(manager, activity) as CodeStatementCollection;
if (retVal != null)
{
Activity rootActivity = Helpers.GetRootActivity(activity);
if (rootActivity != null && rootActivity.GetValue(ActivityCodeDomSerializer.MarkupFileNameProperty) != null &&
(int)activity.GetValue(ActivityMarkupSerializer.StartLineProperty) != -1)
{
foreach (CodeStatement statement in retVal)
{
if (!(statement is CodeCommentStatement))
statement.LinePragma = new CodeLinePragma((string)rootActivity.GetValue(ActivityCodeDomSerializer.MarkupFileNameProperty), Math.Max((int)activity.GetValue(ActivityMarkupSerializer.StartLineProperty), 1));
}
}
}
return retVal;
}
#endregion
}
#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
- HashAlgorithm.cs
- DeclaredTypeElementCollection.cs
- IsolatedStorageFilePermission.cs
- RecognitionResult.cs
- PathData.cs
- FormViewModeEventArgs.cs
- BitmapEffectInput.cs
- InterleavedZipPartStream.cs
- ServiceCredentials.cs
- ElementsClipboardData.cs
- SessionPageStateSection.cs
- ControlBuilder.cs
- CapabilitiesSection.cs
- BooleanFacetDescriptionElement.cs
- SapiGrammar.cs
- AsyncStreamReader.cs
- BinaryParser.cs
- DynamicMetaObjectBinder.cs
- BinarySerializer.cs
- DbException.cs
- SqlRecordBuffer.cs
- TriggerActionCollection.cs
- WebPartMovingEventArgs.cs
- SeparatorAutomationPeer.cs
- ViewGenResults.cs
- ApplicationProxyInternal.cs
- COM2ExtendedBrowsingHandler.cs
- ProtocolViolationException.cs
- BuildResultCache.cs
- NTAccount.cs
- QilReplaceVisitor.cs
- ImageSource.cs
- WebServiceErrorEvent.cs
- AnimatedTypeHelpers.cs
- DynamicRenderer.cs
- XmlSchemaImporter.cs
- ListItemParagraph.cs
- RegexStringValidatorAttribute.cs
- CapabilitiesUse.cs
- CatalogPart.cs
- ByteAnimation.cs
- SchemaCollectionCompiler.cs
- FlowLayoutPanelDesigner.cs
- RootBrowserWindowAutomationPeer.cs
- InputScopeAttribute.cs
- Polygon.cs
- EventListener.cs
- DynamicObject.cs
- DetailsViewRowCollection.cs
- TimeSpanMinutesConverter.cs
- InteropAutomationProvider.cs
- SuppressIldasmAttribute.cs
- DesignBindingEditor.cs
- FileDialogPermission.cs
- XmlSignificantWhitespace.cs
- XmlArrayItemAttribute.cs
- WsdlInspector.cs
- ResourceSet.cs
- OdbcHandle.cs
- SafeCloseHandleCritical.cs
- ResolveMatches11.cs
- StrokeCollectionDefaultValueFactory.cs
- ElementFactory.cs
- DPAPIProtectedConfigurationProvider.cs
- PrimitiveSchema.cs
- ValidatedControlConverter.cs
- EncoderBestFitFallback.cs
- TextRange.cs
- QueryAccessibilityHelpEvent.cs
- TemplateParser.cs
- KnownIds.cs
- PopupEventArgs.cs
- ReadOnlyObservableCollection.cs
- WindowsBrush.cs
- WizardPanelChangingEventArgs.cs
- SerializationInfoEnumerator.cs
- EnumMember.cs
- OutputScope.cs
- Matrix3DValueSerializer.cs
- UpdateManifestForBrowserApplication.cs
- ECDiffieHellmanCng.cs
- httpserverutility.cs
- StyleSelector.cs
- SqlBinder.cs
- AxDesigner.cs
- MouseEventArgs.cs
- CompareInfo.cs
- ReferencedType.cs
- WebServiceTypeData.cs
- FilteredDataSetHelper.cs
- PersonalizationDictionary.cs
- FontDriver.cs
- PermissionAttributes.cs
- Timer.cs
- UIServiceHelper.cs
- XmlLoader.cs
- TextLine.cs
- WeakEventTable.cs
- XmlSchemaIdentityConstraint.cs
- diagnosticsswitches.cs