Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Compiler / CodeGeneration / ActivityCodeGenerator.cs / 1305376 / ActivityCodeGenerator.cs
namespace System.Workflow.ComponentModel.Compiler { using System; using System.CodeDom; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; #region Class ActivityCodeGenerator public class ActivityCodeGenerator { public virtual void GenerateCode(CodeGenerationManager 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"); manager.Context.Push(activity); // Generate code for all the member Binds. Walker walker = new Walker(); walker.FoundProperty += delegate(Walker w, WalkerEventArgs args) { // ActivityBind bindBase = args.CurrentValue as ActivityBind; if (bindBase != null) { // push if (args.CurrentProperty != null) manager.Context.Push(args.CurrentProperty); manager.Context.Push(args.CurrentPropertyOwner); // call generate code foreach (ActivityCodeGenerator codeGenerator in manager.GetCodeGenerators(bindBase.GetType())) codeGenerator.GenerateCode(manager, args.CurrentValue); // pops manager.Context.Pop(); if (args.CurrentProperty != null) manager.Context.Pop(); } }; walker.WalkProperties(activity, obj); manager.Context.Pop(); } protected CodeTypeDeclaration GetCodeTypeDeclaration(CodeGenerationManager manager, string fullClassName) { if (manager == null) throw new ArgumentNullException("manager"); if (fullClassName == null) throw new ArgumentNullException("fullClassName"); string namespaceName; string className; Helpers.GetNamespaceAndClassName(fullClassName, out namespaceName, out className); CodeNamespaceCollection codeNamespaces = manager.Context[typeof(CodeNamespaceCollection)] as CodeNamespaceCollection; if (codeNamespaces == null) throw new InvalidOperationException(SR.GetString(SR.Error_ContextStackItemMissing, typeof(CodeNamespaceCollection).Name)); CodeNamespace codeNS = null; return Helpers.GetCodeNamespaceAndClass(codeNamespaces, namespaceName, className, out codeNS); } } #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
- ProfileSettings.cs
- XamlInt32CollectionSerializer.cs
- XmlCustomFormatter.cs
- RoutedEventHandlerInfo.cs
- AppModelKnownContentFactory.cs
- TextInfo.cs
- TextRangeSerialization.cs
- ListBindingConverter.cs
- Timeline.cs
- SHA512Cng.cs
- HostingPreferredMapPath.cs
- IndexedSelectQueryOperator.cs
- RelationshipManager.cs
- HttpServerVarsCollection.cs
- SafeRegistryHandle.cs
- XmlValueConverter.cs
- DataMemberFieldEditor.cs
- XmlSchemaValidator.cs
- SecurityDescriptor.cs
- Lasso.cs
- TextMessageEncodingBindingElement.cs
- Cursor.cs
- TextCollapsingProperties.cs
- _SSPISessionCache.cs
- WindowsNonControl.cs
- DbProviderFactoriesConfigurationHandler.cs
- TypeUsage.cs
- TableColumn.cs
- TypeDependencyAttribute.cs
- _KerberosClient.cs
- ScopedKnownTypes.cs
- OciEnlistContext.cs
- SamlAction.cs
- safex509handles.cs
- Utils.cs
- ByteAnimationUsingKeyFrames.cs
- WindowsStartMenu.cs
- CompilerError.cs
- IOException.cs
- SoapExtensionStream.cs
- ZoomingMessageFilter.cs
- PopupRootAutomationPeer.cs
- SecurityPolicySection.cs
- DefaultHttpHandler.cs
- RowUpdatingEventArgs.cs
- ConfigurationStrings.cs
- EntityClassGenerator.cs
- StateRuntime.cs
- XmlSerializerSection.cs
- CodeValidator.cs
- PeerToPeerException.cs
- IERequestCache.cs
- TextEditorCharacters.cs
- ValueType.cs
- ServiceRouteHandler.cs
- CacheMemory.cs
- FormViewRow.cs
- MSAAWinEventWrap.cs
- PrimitiveList.cs
- ObjectPropertyMapping.cs
- MenuCommandService.cs
- SoapProtocolImporter.cs
- OpCopier.cs
- WinInet.cs
- DesignerAttribute.cs
- HTTPNotFoundHandler.cs
- ListArgumentProvider.cs
- DescriptionAttribute.cs
- BindingExpressionBase.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- DriveInfo.cs
- ListViewTableRow.cs
- DataGridViewToolTip.cs
- XmlSchemaFacet.cs
- SecurityContext.cs
- StylusPointDescription.cs
- XmlLoader.cs
- SelectedCellsChangedEventArgs.cs
- TransactionWaitAsyncResult.cs
- LongValidator.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- PathSegmentCollection.cs
- CallbackHandler.cs
- Binding.cs
- URLEditor.cs
- _DomainName.cs
- SecurityTokenResolver.cs
- InvalidOperationException.cs
- DictionaryKeyPropertyAttribute.cs
- SpellerHighlightLayer.cs
- SqlTypeConverter.cs
- JavaScriptString.cs
- BrushValueSerializer.cs
- ChildDocumentBlock.cs
- DataStorage.cs
- ArgIterator.cs
- ExpressionNode.cs
- CacheDependency.cs
- XPathScanner.cs
- DefaultTextStoreTextComposition.cs