Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / ActivityCodeDomReferenceService.cs / 1305376 / ActivityCodeDomReferenceService.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 ActivityCodeDomReferenceService
///
/// This class implements the IReferenceService interface and overrides the GetName
/// method of the wrapped IReferenceService.
///
///
/// The CodeDomSerializer in System.Design uses the IReferenceService to generate an
/// id for all code variables it create during serialization. By default, the GetName
/// method ends up returning the QualifiedName property of an Activity, and since that
/// property always contains a '.', it is an invalid variable id. This class overrides
/// the GetName method to return a valid name in the case of an Activity class.
///
internal sealed class ActivityCodeDomReferenceService : IReferenceService
{
private IReferenceService refService;
public ActivityCodeDomReferenceService(IReferenceService referenceService)
{
this.refService = referenceService;
}
public object[] GetReferences(System.Type baseType)
{
if (refService != null)
return refService.GetReferences(baseType);
return null;
}
public object[] GetReferences()
{
if (refService != null)
return refService.GetReferences();
return null;
}
public System.ComponentModel.IComponent GetComponent(object reference)
{
if (refService != null)
return refService.GetComponent(reference);
return null;
}
public object GetReference(string name)
{
if (refService != null)
return refService.GetReference(name);
return null;
}
public string GetName(object reference)
{
// If the object is an activity, generate a name of _, since
// the default result of GetName is the activity's QualifiedName, which includes a '.'
Activity a = reference as Activity;
if (a != null)
return a.QualifiedName.Replace('.', '_');
if (refService != null)
return refService.GetName(reference);
return null;
}
}
#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
- MainMenu.cs
- CodeBlockBuilder.cs
- HitTestWithPointDrawingContextWalker.cs
- StatusBarPanel.cs
- TabControl.cs
- bidPrivateBase.cs
- IgnoreSectionHandler.cs
- ACL.cs
- BrowserCapabilitiesCompiler.cs
- BufferedMessageWriter.cs
- RowToParametersTransformer.cs
- CachedResourceDictionaryExtension.cs
- SqlWebEventProvider.cs
- DataGridViewComboBoxCell.cs
- ProtocolReflector.cs
- InputScopeAttribute.cs
- ReflectTypeDescriptionProvider.cs
- RuleSettings.cs
- Color.cs
- MetadataItemEmitter.cs
- XmlSchemaNotation.cs
- XamlRtfConverter.cs
- RuntimeEnvironment.cs
- WinEventHandler.cs
- GeneralTransform3D.cs
- DesigntimeLicenseContextSerializer.cs
- TextBox.cs
- TriggerCollection.cs
- PeerPresenceInfo.cs
- SerializationBinder.cs
- Track.cs
- SqlWriter.cs
- SqlConnectionStringBuilder.cs
- GZipStream.cs
- SplitContainer.cs
- ModuleBuilderData.cs
- EventLogPermissionEntryCollection.cs
- TraceContext.cs
- XPathNavigatorReader.cs
- FormattedText.cs
- SQLResource.cs
- DataGridViewComboBoxCell.cs
- ContextConfiguration.cs
- HighContrastHelper.cs
- CodePrimitiveExpression.cs
- MembershipSection.cs
- PropertyNames.cs
- GridViewEditEventArgs.cs
- StrokeCollectionConverter.cs
- Scene3D.cs
- SeekableReadStream.cs
- DPCustomTypeDescriptor.cs
- SafeArrayTypeMismatchException.cs
- PersistenceContextEnlistment.cs
- UnknownBitmapDecoder.cs
- RuleSetCollection.cs
- CodeCatchClauseCollection.cs
- ResourceReferenceKeyNotFoundException.cs
- DataTableReaderListener.cs
- Rotation3D.cs
- TreeNodeEventArgs.cs
- ReadOnlyDictionary.cs
- XXXOnTypeBuilderInstantiation.cs
- RubberbandSelector.cs
- ValueSerializerAttribute.cs
- TransformerInfo.cs
- ConfigXmlWhitespace.cs
- MetadataLocation.cs
- QueryStringParameter.cs
- Viewport2DVisual3D.cs
- TemplatedMailWebEventProvider.cs
- PrintingPermission.cs
- QueryCursorEventArgs.cs
- X509Certificate2.cs
- BamlReader.cs
- RenderData.cs
- XmlDataSourceDesigner.cs
- SelectionProviderWrapper.cs
- XmlImplementation.cs
- Synchronization.cs
- IPipelineRuntime.cs
- RedirectionProxy.cs
- StateBag.cs
- AssemblyNameProxy.cs
- DateTimeOffset.cs
- IISMapPath.cs
- DbSetClause.cs
- RuntimeHandles.cs
- PropertyBuilder.cs
- CounterSetInstance.cs
- ViewGenResults.cs
- Ticks.cs
- PropertyPath.cs
- ContainerAction.cs
- DetailsViewUpdatedEventArgs.cs
- PrintDialog.cs
- StreamedWorkflowDefinitionContext.cs
- EncryptedPackage.cs
- WebReferencesBuildProvider.cs
- Stack.cs