Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / FieldValue.cs / 1305376 / FieldValue.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Expressions { using System.Activities; using System.Activities.Validation; using System.ComponentModel; using System.Reflection; public sealed class FieldValue: CodeActivity { Func operationFunction; [DefaultValue(null)] public string FieldName { get; set; } [DefaultValue(null)] public InArgument Operand { get; set; } protected override void CacheMetadata(CodeActivityMetadata metadata) { bool isRequired = false; if (typeof(TOperand).IsEnum) { metadata.AddValidationError(SR.TargetTypeCannotBeEnum(this.GetType().Name, this.DisplayName)); } if (string.IsNullOrEmpty(this.FieldName)) { metadata.AddValidationError(SR.ActivityPropertyMustBeSet("FieldName", this.DisplayName)); } else { FieldInfo fieldInfo = null; Type operandType = typeof(TOperand); fieldInfo = operandType.GetField(this.FieldName); if (fieldInfo == null) { metadata.AddValidationError(SR.MemberNotFound(this.FieldName, typeof(TOperand).Name)); } else { isRequired = !fieldInfo.IsStatic; ValidationError validationError; if (!MemberExpressionHelper.TryGenerateLinqDelegate(this.FieldName, true, fieldInfo.IsStatic, out this.operationFunction, out validationError)) { metadata.AddValidationError(validationError); } } } MemberExpressionHelper.AddOperandArgument(metadata, this.Operand, isRequired); } protected override TResult Execute(CodeActivityContext context) { TOperand operandValue = this.Operand.Get(context); return this.operationFunction(operandValue); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplateManager.cs
- ProfileInfo.cs
- SqlDataSourceCommandEventArgs.cs
- ProcessThread.cs
- PenLineJoinValidation.cs
- ByteStreamGeometryContext.cs
- TouchEventArgs.cs
- ToolboxItemAttribute.cs
- CompositionTarget.cs
- WorkflowMarkupSerializationManager.cs
- HashHelpers.cs
- DataSourceHelper.cs
- UpdatePanelControlTrigger.cs
- TextElementEnumerator.cs
- BuildManagerHost.cs
- SynchronizationLockException.cs
- ViewDesigner.cs
- SqlBulkCopyColumnMapping.cs
- RightsManagementSuppressedStream.cs
- ClientSettingsStore.cs
- BaseInfoTable.cs
- ADRole.cs
- DataGridItemEventArgs.cs
- BuildProvider.cs
- EditBehavior.cs
- TransactionalPackage.cs
- IncomingWebRequestContext.cs
- DetailsViewUpdatedEventArgs.cs
- XmlSchemaInclude.cs
- ExtensionQuery.cs
- MediaSystem.cs
- CachedRequestParams.cs
- OneToOneMappingSerializer.cs
- UIElementParagraph.cs
- InvokeProviderWrapper.cs
- MultipleViewProviderWrapper.cs
- dbenumerator.cs
- TaiwanCalendar.cs
- DrawingVisual.cs
- GridViewEditEventArgs.cs
- TextWriter.cs
- DoubleLinkList.cs
- DataGridViewUtilities.cs
- ResourceDictionaryCollection.cs
- TrackingProfileCache.cs
- ConfigXmlDocument.cs
- WebBrowsableAttribute.cs
- EventDescriptor.cs
- SQLBytes.cs
- ICspAsymmetricAlgorithm.cs
- ValidationHelper.cs
- EmbeddedMailObject.cs
- DriveInfo.cs
- EnumBuilder.cs
- ProfileSection.cs
- EqualityComparer.cs
- OleDbCommand.cs
- ServiceBuildProvider.cs
- CommentEmitter.cs
- Win32SafeHandles.cs
- Int16KeyFrameCollection.cs
- dataobject.cs
- InputBinding.cs
- SupportsEventValidationAttribute.cs
- CodeEntryPointMethod.cs
- ObjectDataSourceFilteringEventArgs.cs
- LinqDataSourceDeleteEventArgs.cs
- HtmlEncodedRawTextWriter.cs
- ScriptDescriptor.cs
- MarkupCompilePass1.cs
- IisTraceListener.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- OleStrCAMarshaler.cs
- ExtendedProperty.cs
- DrawingContextDrawingContextWalker.cs
- AssemblyAttributes.cs
- LinkTarget.cs
- OleDbErrorCollection.cs
- XmlSchemaInclude.cs
- TemplatedWizardStep.cs
- IItemProperties.cs
- IWorkflowDebuggerService.cs
- ValueChangedEventManager.cs
- ActivityXamlServices.cs
- _PooledStream.cs
- Int16KeyFrameCollection.cs
- ToolboxItemFilterAttribute.cs
- CompilerResults.cs
- WebRequestModuleElement.cs
- _AcceptOverlappedAsyncResult.cs
- BitVec.cs
- FrameSecurityDescriptor.cs
- shaperfactory.cs
- SplitterDesigner.cs
- Compiler.cs
- TemplatedWizardStep.cs
- PolygonHotSpot.cs
- ValidationEventArgs.cs
- XmlDataSourceNodeDescriptor.cs
- DataGridViewRowConverter.cs