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
- StreamReader.cs
- X509WindowsSecurityToken.cs
- SqlDependencyUtils.cs
- WS2007FederationHttpBindingElement.cs
- Cursors.cs
- TypeName.cs
- CellParaClient.cs
- WorkflowRuntimeEndpoint.cs
- ButtonField.cs
- TextRangeEditLists.cs
- AttributeCollection.cs
- CategoryNameCollection.cs
- BindingCollection.cs
- GenericAuthenticationEventArgs.cs
- FormattedTextSymbols.cs
- DataColumn.cs
- InternalTransaction.cs
- ChangeProcessor.cs
- ACE.cs
- DataGridItemEventArgs.cs
- LogEntryHeaderDeserializer.cs
- BindValidator.cs
- EntityStoreSchemaFilterEntry.cs
- OneOfConst.cs
- UIElementAutomationPeer.cs
- FileDetails.cs
- DataGrid.cs
- Clause.cs
- Encoding.cs
- XmlAttributeProperties.cs
- CounterSampleCalculator.cs
- ColorBlend.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- TouchDevice.cs
- prompt.cs
- Type.cs
- RightsManagementUser.cs
- ForceCopyBuildProvider.cs
- CompositeFontFamily.cs
- Brushes.cs
- SqlCommandBuilder.cs
- DebuggerAttributes.cs
- VirtualPath.cs
- Section.cs
- NativeMethods.cs
- MimeMapping.cs
- XmlSchema.cs
- DataGridBoundColumn.cs
- StyleBamlRecordReader.cs
- DetailsView.cs
- RequestQueryParser.cs
- ParagraphResult.cs
- XmlDocumentFragment.cs
- CompleteWizardStep.cs
- EventLogRecord.cs
- ProcessRequestArgs.cs
- XmlDataSourceNodeDescriptor.cs
- NameValueConfigurationCollection.cs
- DataGridAutomationPeer.cs
- DefaultAsyncDataDispatcher.cs
- ProcessModuleDesigner.cs
- SqlResolver.cs
- SchemaCollectionPreprocessor.cs
- DataServiceRequestArgs.cs
- EditableRegion.cs
- TemplateControlCodeDomTreeGenerator.cs
- HatchBrush.cs
- DataSourceSelectArguments.cs
- EqualityComparer.cs
- MenuBase.cs
- DebugController.cs
- XslCompiledTransform.cs
- ActivityDefaults.cs
- Color.cs
- WebPartConnectionsConnectVerb.cs
- UserUseLicenseDictionaryLoader.cs
- DBParameter.cs
- ClientRoleProvider.cs
- WorkflowPersistenceService.cs
- CompilationPass2TaskInternal.cs
- BooleanSwitch.cs
- PasswordRecoveryAutoFormat.cs
- ProviderSettingsCollection.cs
- DataMisalignedException.cs
- Aggregates.cs
- FrameworkContentElement.cs
- EntityCommandCompilationException.cs
- OuterGlowBitmapEffect.cs
- StreamAsIStream.cs
- FileSystemWatcher.cs
- DataRecord.cs
- FixedSOMImage.cs
- HtmlTable.cs
- IPGlobalProperties.cs
- Int16AnimationUsingKeyFrames.cs
- _AutoWebProxyScriptEngine.cs
- DataRecordInternal.cs
- CrossContextChannel.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- DesignerTransactionCloseEvent.cs