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
- TypefaceMetricsCache.cs
- OdbcInfoMessageEvent.cs
- CompiledXpathExpr.cs
- NullRuntimeConfig.cs
- PropertyValidationContext.cs
- RefExpr.cs
- WindowsStatic.cs
- NegationPusher.cs
- InstanceHandleReference.cs
- CqlLexerHelpers.cs
- PolicyManager.cs
- ListViewDeletedEventArgs.cs
- TypedTableBaseExtensions.cs
- EventSourceCreationData.cs
- HtmlTernaryTree.cs
- EmissiveMaterial.cs
- CleanUpVirtualizedItemEventArgs.cs
- TakeQueryOptionExpression.cs
- GacUtil.cs
- XmlSchemaValidationException.cs
- OracleInfoMessageEventArgs.cs
- DependencyPropertyDescriptor.cs
- XmlChildNodes.cs
- XmlDataImplementation.cs
- Iis7Helper.cs
- SchemaAttDef.cs
- AmbientLight.cs
- ExpressionPrefixAttribute.cs
- PropertyMapper.cs
- ExpressionParser.cs
- DataControlLinkButton.cs
- TypeKeyValue.cs
- ToolStripRendererSwitcher.cs
- AnnotationService.cs
- Panel.cs
- TdsParser.cs
- UserNamePasswordClientCredential.cs
- UseManagedPresentationBindingElement.cs
- TreeSet.cs
- Bits.cs
- APCustomTypeDescriptor.cs
- IncrementalCompileAnalyzer.cs
- LeaseManager.cs
- TextEditorCopyPaste.cs
- BaseCollection.cs
- DataStorage.cs
- DiagnosticTrace.cs
- TlsnegoTokenProvider.cs
- LocationChangedEventArgs.cs
- MessageFilterTable.cs
- ProtocolViolationException.cs
- HttpResponse.cs
- TypeDescriptionProvider.cs
- CalculatedColumn.cs
- Propagator.cs
- PointF.cs
- RowsCopiedEventArgs.cs
- dtdvalidator.cs
- IncrementalReadDecoders.cs
- BuildResult.cs
- XmlProcessingInstruction.cs
- ModifiableIteratorCollection.cs
- ArgumentNullException.cs
- SchemaManager.cs
- __ConsoleStream.cs
- Nullable.cs
- OutputChannel.cs
- ConfigurationManagerHelper.cs
- ColorContext.cs
- MessageSecurityProtocolFactory.cs
- EdmComplexTypeAttribute.cs
- HwndSourceParameters.cs
- BufferedGraphicsContext.cs
- _AuthenticationState.cs
- Directory.cs
- ModuleElement.cs
- OracleTimeSpan.cs
- DataGridViewRowStateChangedEventArgs.cs
- ParamArrayAttribute.cs
- COM2ExtendedUITypeEditor.cs
- CodeIterationStatement.cs
- SessionStateModule.cs
- SmtpNetworkElement.cs
- EventLogPermissionAttribute.cs
- _AutoWebProxyScriptWrapper.cs
- Timer.cs
- WebConfigurationHost.cs
- CustomErrorsSectionWrapper.cs
- WebServiceTypeData.cs
- ManifestResourceInfo.cs
- QualifiedCellIdBoolean.cs
- _NegotiateClient.cs
- X509SecurityTokenProvider.cs
- ConnectionPoolManager.cs
- DataGridViewControlCollection.cs
- FontDifferentiator.cs
- AmbientLight.cs
- CheckBox.cs
- XmlSchemaInclude.cs
- List.cs