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
- SafeSecurityHandles.cs
- UpdatePanelTrigger.cs
- SoapObjectInfo.cs
- DateTime.cs
- StaticExtension.cs
- WebBrowserContainer.cs
- COM2ExtendedUITypeEditor.cs
- ComponentEditorForm.cs
- StorageConditionPropertyMapping.cs
- SystemIcmpV6Statistics.cs
- ListViewTableRow.cs
- HelpInfo.cs
- SoapProtocolImporter.cs
- XmlSchemaException.cs
- SHA1Managed.cs
- ScheduleChanges.cs
- MatrixTransform3D.cs
- UIInitializationException.cs
- SqlExpressionNullability.cs
- ISAPIWorkerRequest.cs
- WorkflowViewElement.cs
- XComponentModel.cs
- CustomAttributeFormatException.cs
- SecurityBindingElement.cs
- StoreAnnotationsMap.cs
- PersonalizableAttribute.cs
- Stream.cs
- ThicknessAnimation.cs
- Enlistment.cs
- BaseProcessProtocolHandler.cs
- CombinedGeometry.cs
- DbProviderManifest.cs
- HandledEventArgs.cs
- XmlHierarchicalEnumerable.cs
- HashMembershipCondition.cs
- SkipStoryboardToFill.cs
- Int64AnimationBase.cs
- iisPickupDirectory.cs
- CellConstant.cs
- BindingOperations.cs
- LookupBindingPropertiesAttribute.cs
- SizeConverter.cs
- ProcessInputEventArgs.cs
- TimeSpanConverter.cs
- _CommandStream.cs
- SymDocumentType.cs
- TextPenaltyModule.cs
- RectangleF.cs
- SQLStringStorage.cs
- precedingquery.cs
- AppDomainInstanceProvider.cs
- recordstate.cs
- PermissionListSet.cs
- PointValueSerializer.cs
- DrawingContextDrawingContextWalker.cs
- TextEmbeddedObject.cs
- InheritanceAttribute.cs
- ScrollChrome.cs
- HealthMonitoringSection.cs
- ReceiveErrorHandling.cs
- PerformanceCounterPermissionAttribute.cs
- LayoutEditorPart.cs
- BufferedGraphics.cs
- ChannelServices.cs
- RotateTransform3D.cs
- Registry.cs
- WorkItem.cs
- PolyLineSegmentFigureLogic.cs
- SqlErrorCollection.cs
- XmlSerializationReader.cs
- SqlCacheDependencyDatabaseCollection.cs
- UniformGrid.cs
- VectorValueSerializer.cs
- SqlInfoMessageEvent.cs
- ChildChangedEventArgs.cs
- Timer.cs
- MimeMapping.cs
- XsdDateTime.cs
- NetworkAddressChange.cs
- PageHandlerFactory.cs
- ConnectionPoint.cs
- AdornerLayer.cs
- Brush.cs
- _ListenerResponseStream.cs
- MatchSingleFxEngineOpcode.cs
- ProfessionalColors.cs
- Evidence.cs
- XmlNavigatorFilter.cs
- DragDrop.cs
- InternalCache.cs
- DataGridViewEditingControlShowingEventArgs.cs
- FontDriver.cs
- TypeSemantics.cs
- Encoding.cs
- DefaultTraceListener.cs
- SafeHandles.cs
- PartEditor.cs
- RectangleGeometry.cs
- SmtpReplyReaderFactory.cs
- GridViewPageEventArgs.cs