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
- Rules.cs
- SetIndexBinder.cs
- DataServiceQueryException.cs
- ByteAnimation.cs
- XmlnsDictionary.cs
- PointAnimationClockResource.cs
- AccessDataSourceView.cs
- FacetDescription.cs
- StylusPointProperty.cs
- CommonProperties.cs
- IndependentlyAnimatedPropertyMetadata.cs
- TemplatedWizardStep.cs
- ConfigXmlWhitespace.cs
- XmlWriter.cs
- UrlMappingsSection.cs
- TimeEnumHelper.cs
- SmtpClient.cs
- BufferedStream.cs
- UserControlBuildProvider.cs
- ProgressPage.cs
- ColorKeyFrameCollection.cs
- ObjectSet.cs
- Compiler.cs
- MessageAction.cs
- Pool.cs
- HtmlTableCellCollection.cs
- SqlDataSourceStatusEventArgs.cs
- TokenFactoryBase.cs
- ResolveMatchesMessage11.cs
- MsmqInputMessage.cs
- FrameSecurityDescriptor.cs
- ElementMarkupObject.cs
- TextEffectCollection.cs
- IApplicationTrustManager.cs
- CompilerGlobalScopeAttribute.cs
- DispatcherHookEventArgs.cs
- SourceFileInfo.cs
- CapabilitiesSection.cs
- StreamReader.cs
- SqlProvider.cs
- MetafileHeader.cs
- FloaterParagraph.cs
- RTTrackingProfile.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- GeometryModel3D.cs
- ErrorHandler.cs
- ComplexPropertyEntry.cs
- CompositeDesignerAccessibleObject.cs
- DropShadowEffect.cs
- Track.cs
- HttpProfileBase.cs
- TextDecorationUnitValidation.cs
- WebPartCatalogCloseVerb.cs
- X509ChainElement.cs
- VerificationException.cs
- SqlDataSourceParameterParser.cs
- RegistrySecurity.cs
- errorpatternmatcher.cs
- MouseGestureValueSerializer.cs
- DaylightTime.cs
- DataRowChangeEvent.cs
- AnonymousIdentificationSection.cs
- MetadataArtifactLoaderCompositeResource.cs
- Logging.cs
- HttpCapabilitiesSectionHandler.cs
- SocketManager.cs
- Nodes.cs
- QilUnary.cs
- LinkedResourceCollection.cs
- SafeCryptoHandles.cs
- DataObjectMethodAttribute.cs
- Group.cs
- ObjectDataSourceSelectingEventArgs.cs
- RawUIStateInputReport.cs
- ComplexType.cs
- WindowsGraphics.cs
- DeclaredTypeValidator.cs
- TreeView.cs
- PageSettings.cs
- StickyNoteAnnotations.cs
- HeaderCollection.cs
- MemoryRecordBuffer.cs
- Substitution.cs
- SystemNetworkInterface.cs
- QueryCacheManager.cs
- NumberAction.cs
- OdbcCommandBuilder.cs
- Converter.cs
- X509CertificateCollection.cs
- MasterPageParser.cs
- dbenumerator.cs
- ContractListAdapter.cs
- BitmapEffectCollection.cs
- PkcsMisc.cs
- Comparer.cs
- EventProviderWriter.cs
- TraceLog.cs
- MarkupProperty.cs
- BinaryObjectReader.cs
- Camera.cs