Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / Microsoft / VisualBasic / Activities / VisualBasicValue.cs / 1305376 / VisualBasicValue.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.VisualBasic.Activities { using System; using System.Activities; using System.Activities.ExpressionParser; using System.Activities.XamlIntegration; using System.Linq.Expressions; using System.Windows.Markup; public sealed class VisualBasicValue: CodeActivity , IValueSerializableExpression, IExpressionContainer, IVisualBasicExpression { Expression > expressionTree; Func compiledExpression; public VisualBasicValue() : base() { this.SkipArgumentResolution = true; } public VisualBasicValue(string expressionText) : this() { this.ExpressionText = expressionText; } public string ExpressionText { get; set; } Expression IExpressionContainer.Expression { get { return this.expressionTree; } } protected override TResult Execute(CodeActivityContext context) { if (this.expressionTree != null) { return GetValueCore(context); } else { return default(TResult); } } internal override bool TryGetValue(ActivityContext context, out TResult value) { if (!this.SkipArgumentResolution && this.RuntimeArguments.Count > 1) { // We can't fast path because we have arguments other than the result // and we haven't obtained inlined references value = default(TResult); return false; } value = GetValueCore(context); return true; } TResult GetValueCore(ActivityContext context) { if (this.compiledExpression == null) { if (this.expressionTree == null) { return default(TResult); } this.compiledExpression = this.expressionTree.Compile(); } return this.compiledExpression(context); } protected override void CacheMetadata(CodeActivityMetadata metadata) { this.expressionTree = null; try { this.expressionTree = VisualBasicHelper.Compile (this.ExpressionText, metadata); } catch (SourceExpressionException e) { metadata.AddValidationError(e.Message); } } public bool CanConvertToString(IValueSerializerContext context) { // we can always convert to a string return true; } public string ConvertToString(IValueSerializerContext context) { // Return our bracket-escaped text return "[" + this.ExpressionText + "]"; } } } // 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
- IntranetCredentialPolicy.cs
- ObjectMemberMapping.cs
- MachineKeySection.cs
- CompiledELinqQueryState.cs
- SQLDateTime.cs
- SecurityManager.cs
- CacheVirtualItemsEvent.cs
- OleDbError.cs
- PointLight.cs
- RecognitionResult.cs
- EdgeProfileValidation.cs
- PassportAuthentication.cs
- PropertyNames.cs
- followingquery.cs
- ContainerParaClient.cs
- SectionInformation.cs
- SafeFileMappingHandle.cs
- ControlAdapter.cs
- LayoutTableCell.cs
- TypeGeneratedEventArgs.cs
- ArgumentValue.cs
- OleDbWrapper.cs
- CustomAttributeSerializer.cs
- Configuration.cs
- PostBackOptions.cs
- DataErrorValidationRule.cs
- TickBar.cs
- StickyNoteContentControl.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- XmlSchemaAttribute.cs
- MimeImporter.cs
- ListSourceHelper.cs
- JoinTreeSlot.cs
- ForwardPositionQuery.cs
- UpdateExpressionVisitor.cs
- GenericEnumerator.cs
- SiteOfOriginPart.cs
- DataContractSerializerServiceBehavior.cs
- base64Transforms.cs
- PropertyOverridesTypeEditor.cs
- TrackingStringDictionary.cs
- SoapExtensionTypeElementCollection.cs
- DataSvcMapFileSerializer.cs
- InvalidPropValue.cs
- EventQueueState.cs
- BitmapCache.cs
- GacUtil.cs
- PaperSource.cs
- DownloadProgressEventArgs.cs
- EventLogPermissionAttribute.cs
- PipelineModuleStepContainer.cs
- ChildrenQuery.cs
- CodeCompileUnit.cs
- SoapInteropTypes.cs
- EntityStoreSchemaGenerator.cs
- ConfigurationValues.cs
- Vector3DAnimation.cs
- ImmComposition.cs
- CriticalHandle.cs
- RtfToXamlLexer.cs
- TemplateContent.cs
- NominalTypeEliminator.cs
- ProviderIncompatibleException.cs
- ParameterReplacerVisitor.cs
- JavaScriptObjectDeserializer.cs
- RandomNumberGenerator.cs
- HandlerFactoryWrapper.cs
- Soap.cs
- DeclaredTypeValidator.cs
- ExpressionList.cs
- Track.cs
- WSDualHttpSecurity.cs
- TextEditorParagraphs.cs
- ModifierKeysValueSerializer.cs
- XmlCountingReader.cs
- InplaceBitmapMetadataWriter.cs
- AnonymousIdentificationSection.cs
- DataBinder.cs
- DefinitionUpdate.cs
- StorageMappingItemCollection.cs
- FileUtil.cs
- LinkLabel.cs
- StyleSelector.cs
- SessionEndingEventArgs.cs
- ObjectListDesigner.cs
- ListInitExpression.cs
- Internal.cs
- DataListAutoFormat.cs
- HMACSHA1.cs
- Collection.cs
- HealthMonitoringSectionHelper.cs
- UIElementIsland.cs
- _FixedSizeReader.cs
- ProxyManager.cs
- Relationship.cs
- DataMemberFieldConverter.cs
- ServiceDebugElement.cs
- FigureParagraph.cs
- BinaryObjectWriter.cs
- ByteAnimation.cs