Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Code.cs / 1305376 / Code.cs
namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.Generic; using System.Workflow.ComponentModel.Compiler; [SRDescription(SR.CodeActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(CodeDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CodeActivity), "Resources.code.png")] [DefaultEvent("ExecuteCode")] [SRCategory(SR.Standard)] [ActivityValidator(typeof(CodeActivityValidator))] public sealed class CodeActivity : Activity { #region Constructors public CodeActivity() { } public CodeActivity(string name) : base(name) { } #endregion public static readonly DependencyProperty ExecuteCodeEvent = DependencyProperty.Register("ExecuteCode", typeof(EventHandler), typeof(CodeActivity)); protected override sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { base.RaiseEvent(CodeActivity.ExecuteCodeEvent, this, EventArgs.Empty); return ActivityExecutionStatus.Closed; } [SRCategory(SR.Handlers)] [SRDescription(SR.UserCodeHandlerDescr)] [MergableProperty(false)] public event EventHandler ExecuteCode { add { base.AddHandler(ExecuteCodeEvent, value); } remove { base.RemoveHandler(ExecuteCodeEvent, value); } } private class CodeActivityValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection errors = new ValidationErrorCollection(); CodeActivity code = obj as CodeActivity; if (code == null) throw new InvalidOperationException(); // This violates the P || C validation condition, but we are compiling with csc.exe here! if (code.GetInvocationList(CodeActivity.ExecuteCodeEvent).Length == 0 && code.GetBinding(CodeActivity.ExecuteCodeEvent) == null) { Hashtable hashtable = code.GetValue(WorkflowMarkupSerializer.EventsProperty) as Hashtable; if(hashtable == null || hashtable["ExecuteCode"] == null) errors.Add(ValidationError.GetNotSetValidationError("ExecuteCode")); } errors.AddRange(base.Validate(manager, obj)); return errors; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Workflow.Activities { using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Serialization; using System.Collections.Generic; using System.Workflow.ComponentModel.Compiler; [SRDescription(SR.CodeActivityDescription)] [ToolboxItem(typeof(ActivityToolboxItem))] [Designer(typeof(CodeDesigner), typeof(IDesigner))] [ToolboxBitmap(typeof(CodeActivity), "Resources.code.png")] [DefaultEvent("ExecuteCode")] [SRCategory(SR.Standard)] [ActivityValidator(typeof(CodeActivityValidator))] public sealed class CodeActivity : Activity { #region Constructors public CodeActivity() { } public CodeActivity(string name) : base(name) { } #endregion public static readonly DependencyProperty ExecuteCodeEvent = DependencyProperty.Register("ExecuteCode", typeof(EventHandler), typeof(CodeActivity)); protected override sealed ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { base.RaiseEvent(CodeActivity.ExecuteCodeEvent, this, EventArgs.Empty); return ActivityExecutionStatus.Closed; } [SRCategory(SR.Handlers)] [SRDescription(SR.UserCodeHandlerDescr)] [MergableProperty(false)] public event EventHandler ExecuteCode { add { base.AddHandler(ExecuteCodeEvent, value); } remove { base.RemoveHandler(ExecuteCodeEvent, value); } } private class CodeActivityValidator : ActivityValidator { public override ValidationErrorCollection Validate(ValidationManager manager, object obj) { ValidationErrorCollection errors = new ValidationErrorCollection(); CodeActivity code = obj as CodeActivity; if (code == null) throw new InvalidOperationException(); // This violates the P || C validation condition, but we are compiling with csc.exe here! if (code.GetInvocationList (CodeActivity.ExecuteCodeEvent).Length == 0 && code.GetBinding(CodeActivity.ExecuteCodeEvent) == null) { Hashtable hashtable = code.GetValue(WorkflowMarkupSerializer.EventsProperty) as Hashtable; if(hashtable == null || hashtable["ExecuteCode"] == null) errors.Add(ValidationError.GetNotSetValidationError("ExecuteCode")); } errors.AddRange(base.Validate(manager, obj)); return errors; } } } } // 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
- ServiceSecurityAuditBehavior.cs
- SkipStoryboardToFill.cs
- EmptyImpersonationContext.cs
- GridViewUpdatedEventArgs.cs
- ScrollBarRenderer.cs
- XPathChildIterator.cs
- StandardToolWindows.cs
- PrintPreviewDialog.cs
- StatusBar.cs
- Base64Decoder.cs
- Directory.cs
- MemberDomainMap.cs
- NativeMethodsCLR.cs
- SemanticAnalyzer.cs
- FunctionNode.cs
- WindowProviderWrapper.cs
- NativeMethods.cs
- CultureInfoConverter.cs
- PolyLineSegment.cs
- PointAnimationUsingKeyFrames.cs
- Vector3DAnimation.cs
- Int16Storage.cs
- XmlValidatingReaderImpl.cs
- TraceListener.cs
- RecoverInstanceLocksCommand.cs
- CompositeScriptReference.cs
- FlowDocumentPage.cs
- OutputCacheProfile.cs
- Evidence.cs
- CaseInsensitiveOrdinalStringComparer.cs
- UInt32.cs
- SaveFileDialogDesigner.cs
- DataSvcMapFile.cs
- TextSelectionHighlightLayer.cs
- TreeNodeStyle.cs
- RegistryKey.cs
- Models.cs
- IntSecurity.cs
- ImageList.cs
- MessageDecoder.cs
- SelectedDatesCollection.cs
- GeneralTransform3DGroup.cs
- TableLayoutCellPaintEventArgs.cs
- CmsInterop.cs
- ImageField.cs
- ImportDesigner.xaml.cs
- SpecularMaterial.cs
- Inflater.cs
- TypeForwardedFromAttribute.cs
- MDIControlStrip.cs
- RecognitionResult.cs
- ScriptIgnoreAttribute.cs
- FunctionNode.cs
- Point3D.cs
- CachingHintValidation.cs
- XmlSchemaDatatype.cs
- AuthenticationService.cs
- Model3DGroup.cs
- BuildResultCache.cs
- WebPartDisplayModeCancelEventArgs.cs
- CodeMethodInvokeExpression.cs
- SinglePhaseEnlistment.cs
- Mappings.cs
- RequestSecurityTokenResponse.cs
- DataSourceConverter.cs
- ToolBarButton.cs
- ProfileServiceManager.cs
- PointConverter.cs
- TypeSemantics.cs
- OleDbPropertySetGuid.cs
- RangeBaseAutomationPeer.cs
- BaseTemplateCodeDomTreeGenerator.cs
- SurrogateDataContract.cs
- TiffBitmapDecoder.cs
- Peer.cs
- _CookieModule.cs
- LocationSectionRecord.cs
- Rights.cs
- MsmqSecureHashAlgorithm.cs
- SkinBuilder.cs
- XmlSchemaValidationException.cs
- TreeBuilder.cs
- SmtpSection.cs
- Attachment.cs
- DPCustomTypeDescriptor.cs
- TextRangeAdaptor.cs
- NativeWrapper.cs
- SqlClientMetaDataCollectionNames.cs
- ObjectDataSource.cs
- ScrollBarRenderer.cs
- HtmlControlDesigner.cs
- DataGridViewRowStateChangedEventArgs.cs
- NativeCompoundFileAPIs.cs
- SafePointer.cs
- SingleSelectRootGridEntry.cs
- ConnectionInterfaceCollection.cs
- LayoutTable.cs
- QueryResponse.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- RoleManagerSection.cs