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
- Line.cs
- EdmRelationshipRoleAttribute.cs
- TypedDatasetGenerator.cs
- BitmapEditor.cs
- QilParameter.cs
- WindowsGraphicsWrapper.cs
- PrefixHandle.cs
- TextServicesProperty.cs
- DocumentAutomationPeer.cs
- __ComObject.cs
- CheckBox.cs
- HttpFileCollection.cs
- PageSetupDialog.cs
- AnonymousIdentificationSection.cs
- CroppedBitmap.cs
- Selection.cs
- DummyDataSource.cs
- CapabilitiesSection.cs
- ShaderEffect.cs
- EventLogException.cs
- DataGridViewCellFormattingEventArgs.cs
- DesignerActionItem.cs
- HttpResponseWrapper.cs
- BaseValidator.cs
- SubMenuStyleCollection.cs
- FileAuthorizationModule.cs
- SoapUnknownHeader.cs
- NavigationService.cs
- DesignSurfaceServiceContainer.cs
- TextElementEditingBehaviorAttribute.cs
- FontCacheUtil.cs
- ConfigsHelper.cs
- WindowsToolbarAsMenu.cs
- webeventbuffer.cs
- ListCollectionView.cs
- _ConnectOverlappedAsyncResult.cs
- ValidatedControlConverter.cs
- PartialCachingControl.cs
- Formatter.cs
- AdapterDictionary.cs
- DataMisalignedException.cs
- ListSortDescriptionCollection.cs
- WmlSelectionListAdapter.cs
- HttpAsyncResult.cs
- Itemizer.cs
- SchemaAttDef.cs
- ItemsChangedEventArgs.cs
- ComboBoxAutomationPeer.cs
- ValidationRule.cs
- SoapDocumentMethodAttribute.cs
- OleTxTransactionInfo.cs
- DataGridTextBoxColumn.cs
- BuildProvider.cs
- EntityAdapter.cs
- XmlIterators.cs
- XmlSchemaType.cs
- ElementHostAutomationPeer.cs
- SynthesizerStateChangedEventArgs.cs
- xml.cs
- OutputCacheSettings.cs
- DatatypeImplementation.cs
- FixedBufferAttribute.cs
- DataServiceExpressionVisitor.cs
- UniqueEventHelper.cs
- DelegateTypeInfo.cs
- OracleDataReader.cs
- FocusTracker.cs
- HostExecutionContextManager.cs
- XPathDocumentNavigator.cs
- ColumnResizeAdorner.cs
- PkcsMisc.cs
- DesignRelationCollection.cs
- ListViewItem.cs
- ReverseInheritProperty.cs
- RemotingConfigParser.cs
- ZipPackage.cs
- DataGridViewCellCancelEventArgs.cs
- StringComparer.cs
- AudioLevelUpdatedEventArgs.cs
- ImpersonationOption.cs
- XPathAxisIterator.cs
- SessionState.cs
- MarkupExtensionReturnTypeAttribute.cs
- SafeFreeMibTable.cs
- KnownBoxes.cs
- SearchForVirtualItemEventArgs.cs
- NullNotAllowedCollection.cs
- ProcessStartInfo.cs
- SelectorAutomationPeer.cs
- ChangePasswordDesigner.cs
- ExclusiveCanonicalizationTransform.cs
- CallbackCorrelationInitializer.cs
- SqlFunctionAttribute.cs
- figurelength.cs
- ManagementEventWatcher.cs
- PropertyGridEditorPart.cs
- KoreanLunisolarCalendar.cs
- exports.cs
- CodePageEncoding.cs
- ProfilePropertySettingsCollection.cs