Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- MatrixValueSerializer.cs
- ExpandCollapseProviderWrapper.cs
- thaishape.cs
- FixedNode.cs
- Query.cs
- Pts.cs
- EventListener.cs
- DateTimeValueSerializerContext.cs
- ImageCodecInfoPrivate.cs
- SHA384.cs
- WindowsFormsHelpers.cs
- TextElementCollectionHelper.cs
- PartialArray.cs
- ProjectionCamera.cs
- DataGridViewTextBoxEditingControl.cs
- SystemPens.cs
- StringWriter.cs
- RuleSettings.cs
- SoapAttributeOverrides.cs
- EventLogStatus.cs
- DefaultValueConverter.cs
- BasicHttpMessageSecurity.cs
- RelatedImageListAttribute.cs
- OracleNumber.cs
- Compilation.cs
- DataFieldCollectionEditor.cs
- SqlCharStream.cs
- WindowsToolbar.cs
- RelatedPropertyManager.cs
- AmbientValueAttribute.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- AttachedPropertyBrowsableAttribute.cs
- ValidationRuleCollection.cs
- CalendarDay.cs
- Group.cs
- XhtmlBasicListAdapter.cs
- HtmlFormAdapter.cs
- SizeAnimationUsingKeyFrames.cs
- ErrorFormatter.cs
- UriSection.cs
- GraphicsContext.cs
- HttpMethodAttribute.cs
- ZoneMembershipCondition.cs
- MetadataCache.cs
- cookie.cs
- ActiveXSerializer.cs
- RoutedEvent.cs
- WebPartUtil.cs
- SiteIdentityPermission.cs
- MetafileHeader.cs
- PropertyCollection.cs
- DoubleIndependentAnimationStorage.cs
- XPathPatternBuilder.cs
- WeakReference.cs
- TCEAdapterGenerator.cs
- PropertyConverter.cs
- QuadraticBezierSegment.cs
- BinaryMethodMessage.cs
- Sequence.cs
- DrawingContextWalker.cs
- DesignerGeometryHelper.cs
- PersonalizationProvider.cs
- BindingMemberInfo.cs
- SqlDataSourceView.cs
- ProcessManager.cs
- InstancePersistenceEvent.cs
- ContextBase.cs
- Misc.cs
- GridViewCancelEditEventArgs.cs
- RadioButton.cs
- _AcceptOverlappedAsyncResult.cs
- SqlFactory.cs
- DataGridViewComboBoxEditingControl.cs
- MatrixAnimationUsingKeyFrames.cs
- StyleBamlTreeBuilder.cs
- EDesignUtil.cs
- ProfileEventArgs.cs
- SystemNetworkInterface.cs
- UniqueEventHelper.cs
- ResourceExpressionEditorSheet.cs
- ValidatorCompatibilityHelper.cs
- Ipv6Element.cs
- TextBoxDesigner.cs
- SignatureConfirmationElement.cs
- EmptyControlCollection.cs
- ColorAnimation.cs
- NavigationWindow.cs
- ProcessStartInfo.cs
- EntityContainerEmitter.cs
- IntSecurity.cs
- SystemInfo.cs
- Command.cs
- WindowsRegion.cs
- DataServiceKeyAttribute.cs
- DetailsViewDeleteEventArgs.cs
- CodeTypeParameterCollection.cs
- DialogBaseForm.cs
- PrintingPermission.cs
- ClientUtils.cs
- ScriptingSectionGroup.cs