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
- CompressionTransform.cs
- DataRecordInternal.cs
- SoapIncludeAttribute.cs
- DispatcherObject.cs
- SynchronizationContext.cs
- EmptyQuery.cs
- HybridDictionary.cs
- HttpProfileGroupBase.cs
- EntityViewGenerationAttribute.cs
- MarshalDirectiveException.cs
- TaskFormBase.cs
- LocalizationParserHooks.cs
- DatatypeImplementation.cs
- TypeSystemHelpers.cs
- Vector3DKeyFrameCollection.cs
- ComEventsInfo.cs
- CodeDefaultValueExpression.cs
- LazyLoadBehavior.cs
- Exceptions.cs
- CodeActivityMetadata.cs
- Ray3DHitTestResult.cs
- UnmanagedMemoryStreamWrapper.cs
- ScriptManager.cs
- PageParserFilter.cs
- ListViewCommandEventArgs.cs
- ToolStripContentPanel.cs
- Command.cs
- ColumnMapCopier.cs
- QueryOutputWriter.cs
- WindowsSpinner.cs
- CharUnicodeInfo.cs
- RangeValuePattern.cs
- GraphicsPath.cs
- ValuePatternIdentifiers.cs
- CurrentTimeZone.cs
- QuaternionKeyFrameCollection.cs
- PeerServiceMessageContracts.cs
- StylusCollection.cs
- KeyInfo.cs
- DataServiceEntityAttribute.cs
- ISFTagAndGuidCache.cs
- XmlSerializationGeneratedCode.cs
- SwitchAttribute.cs
- InsufficientExecutionStackException.cs
- AspProxy.cs
- DoubleCollectionValueSerializer.cs
- TemplateInstanceAttribute.cs
- CommandEventArgs.cs
- XmlnsDictionary.cs
- OpCopier.cs
- ServiceModelConfigurationSectionCollection.cs
- DockingAttribute.cs
- Enlistment.cs
- ConnectionPoolManager.cs
- DecimalFormatter.cs
- HttpCacheVaryByContentEncodings.cs
- FlagsAttribute.cs
- FormViewUpdateEventArgs.cs
- LinqDataSourceView.cs
- SignatureHelper.cs
- CodeDOMUtility.cs
- SqlCaseSimplifier.cs
- TailCallAnalyzer.cs
- ResolveNameEventArgs.cs
- SamlSubject.cs
- Merger.cs
- DriveNotFoundException.cs
- CreateParams.cs
- SystemIPv4InterfaceProperties.cs
- DeploymentExceptionMapper.cs
- HostingMessageProperty.cs
- Touch.cs
- ServiceKnownTypeAttribute.cs
- KeyedPriorityQueue.cs
- XsltArgumentList.cs
- SafePEFileHandle.cs
- PersonalizationEntry.cs
- AppDomainProtocolHandler.cs
- TimeZone.cs
- IISMapPath.cs
- Hyperlink.cs
- DesignerTransactionCloseEvent.cs
- WebHttpEndpoint.cs
- Decimal.cs
- ByteAnimation.cs
- CacheMemory.cs
- SiteMapDataSource.cs
- WorkflowDebuggerSteppingAttribute.cs
- ScrollContentPresenter.cs
- SchemaNotation.cs
- DataListAutoFormat.cs
- ExpressionBuilder.cs
- Descriptor.cs
- wmiutil.cs
- HwndHostAutomationPeer.cs
- Accessible.cs
- CultureInfo.cs
- FormsAuthentication.cs
- InteropTrackingRecord.cs
- SerializerProvider.cs