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
- ResourceProperty.cs
- EventRecordWrittenEventArgs.cs
- TabRenderer.cs
- Component.cs
- UnsafeNativeMethods.cs
- KerberosRequestorSecurityToken.cs
- DoubleAnimationUsingPath.cs
- IntSecurity.cs
- SingletonConnectionReader.cs
- PermissionToken.cs
- HwndHost.cs
- CompilerLocalReference.cs
- Barrier.cs
- BrowserTree.cs
- DataGridRowDetailsEventArgs.cs
- CommandValueSerializer.cs
- ContractMapping.cs
- ZipIOExtraFieldElement.cs
- AddingNewEventArgs.cs
- NavigatorOutput.cs
- SqlProviderServices.cs
- ListDataBindEventArgs.cs
- UnionCodeGroup.cs
- FileSecurity.cs
- UpdateTracker.cs
- WorkflowMarkupSerializer.cs
- Timer.cs
- ProtocolElement.cs
- SystemParameters.cs
- DataTableNameHandler.cs
- SelectedGridItemChangedEvent.cs
- CLSCompliantAttribute.cs
- GridViewSortEventArgs.cs
- MemberMaps.cs
- ControlIdConverter.cs
- WebServiceMethodData.cs
- DateTime.cs
- DesignerImageAdapter.cs
- LiteralDesigner.cs
- UIElementHelper.cs
- SHA256Managed.cs
- DodSequenceMerge.cs
- SerializerDescriptor.cs
- DesignerVerb.cs
- CompModSwitches.cs
- UnaryExpression.cs
- ShadowGlyph.cs
- ParamArrayAttribute.cs
- DeploymentSectionCache.cs
- BindingList.cs
- ToolStripItemTextRenderEventArgs.cs
- OdbcConnectionFactory.cs
- AsyncInvokeOperation.cs
- Utilities.cs
- PersistChildrenAttribute.cs
- DataGridState.cs
- CopyAction.cs
- WindowsTreeView.cs
- SqlCaseSimplifier.cs
- MsmqBindingElementBase.cs
- Quaternion.cs
- MenuItemStyle.cs
- ImageSource.cs
- XmlSubtreeReader.cs
- LambdaCompiler.Binary.cs
- OracleColumn.cs
- HwndKeyboardInputProvider.cs
- RemotingConfigParser.cs
- DetailsViewCommandEventArgs.cs
- MessageQueueKey.cs
- InertiaTranslationBehavior.cs
- SqlRowUpdatedEvent.cs
- StateMachine.cs
- ProfileEventArgs.cs
- ButtonChrome.cs
- ConnectionPoolManager.cs
- AnnotationAuthorChangedEventArgs.cs
- FileUpload.cs
- XPathException.cs
- DesignerAttribute.cs
- DataControlImageButton.cs
- FixedSchema.cs
- Grant.cs
- _SSPISessionCache.cs
- PlainXmlDeserializer.cs
- ReflectionTypeLoadException.cs
- WSSecurityXXX2005.cs
- PropertyDescriptorCollection.cs
- SingleResultAttribute.cs
- SecurityPermission.cs
- Parameter.cs
- Regex.cs
- DuplicateDetector.cs
- UnSafeCharBuffer.cs
- SynchronizingStream.cs
- XmlSignatureProperties.cs
- RenameRuleObjectDialog.Designer.cs
- SimpleModelProvider.cs
- IISMapPath.cs
- SrgsDocumentParser.cs