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
- CorrelationQueryBehavior.cs
- SchemaImporter.cs
- RequiredFieldValidator.cs
- ObjectDataSource.cs
- XmlnsDictionary.cs
- ObsoleteAttribute.cs
- ImageInfo.cs
- DictionaryCustomTypeDescriptor.cs
- PropertyMapper.cs
- ProjectionAnalyzer.cs
- ToolStripDropDownButton.cs
- DerivedKeySecurityTokenStub.cs
- validationstate.cs
- SqlXmlStorage.cs
- FreezableOperations.cs
- ContainerVisual.cs
- OperationExecutionFault.cs
- SourceExpressionException.cs
- DesignerActionVerbItem.cs
- CommonXSendMessage.cs
- EntityTypeEmitter.cs
- HandleCollector.cs
- dbenumerator.cs
- Monitor.cs
- RuntimeConfigurationRecord.cs
- ImageSource.cs
- WorkflowPersistenceService.cs
- X509Certificate2.cs
- InputReport.cs
- ComponentResourceKey.cs
- SettingsProperty.cs
- InternalBase.cs
- TPLETWProvider.cs
- _TransmitFileOverlappedAsyncResult.cs
- SignatureToken.cs
- ApplicationInfo.cs
- ObjectItemLoadingSessionData.cs
- ElementProxy.cs
- FunctionQuery.cs
- PublishLicense.cs
- ThrowHelper.cs
- OleDbInfoMessageEvent.cs
- TextServicesManager.cs
- Comparer.cs
- FieldNameLookup.cs
- GlyphingCache.cs
- XPathDocumentBuilder.cs
- PipelineModuleStepContainer.cs
- ValueProviderWrapper.cs
- RadioButton.cs
- Panel.cs
- DBConcurrencyException.cs
- TranslateTransform.cs
- DbConnectionFactory.cs
- LabelAutomationPeer.cs
- CharacterString.cs
- XamlContextStack.cs
- SHA1CryptoServiceProvider.cs
- Compiler.cs
- EncoderReplacementFallback.cs
- VarRemapper.cs
- ProxyWebPart.cs
- HelpFileFileNameEditor.cs
- CalendarAutoFormat.cs
- TableParaClient.cs
- ContainerVisual.cs
- pingexception.cs
- TreeBuilder.cs
- CorrelationQueryBehavior.cs
- _HTTPDateParse.cs
- XmlBinaryReader.cs
- ConstructorNeedsTagAttribute.cs
- SimpleTypeResolver.cs
- PrincipalPermission.cs
- StylusPointProperties.cs
- UnknownBitmapDecoder.cs
- NativeMethods.cs
- SizeIndependentAnimationStorage.cs
- MimeMapping.cs
- followingsibling.cs
- TextTreeRootNode.cs
- COM2TypeInfoProcessor.cs
- ApplicationHost.cs
- SequenceDesigner.cs
- InputScopeAttribute.cs
- FindCriteria.cs
- KeyProperty.cs
- ControlsConfig.cs
- MethodAccessException.cs
- MouseGesture.cs
- SqlWebEventProvider.cs
- FormViewUpdatedEventArgs.cs
- QilName.cs
- DetailsView.cs
- XmlILIndex.cs
- UTF7Encoding.cs
- IISUnsafeMethods.cs
- Border.cs
- ClientScriptManager.cs
- oledbconnectionstring.cs