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
- serverconfig.cs
- ComboBoxAutomationPeer.cs
- XslTransformFileEditor.cs
- GroupBoxAutomationPeer.cs
- MessagePartProtectionMode.cs
- WorkflowServiceHost.cs
- ParseHttpDate.cs
- storepermissionattribute.cs
- IDReferencePropertyAttribute.cs
- ToolStripDropTargetManager.cs
- EncoderReplacementFallback.cs
- OleDbException.cs
- CodeCatchClauseCollection.cs
- MiniConstructorInfo.cs
- StorageFunctionMapping.cs
- TraceContextRecord.cs
- FormCollection.cs
- XmlSchemaInclude.cs
- MetadataStore.cs
- Grant.cs
- HtmlInputButton.cs
- PropertyEmitter.cs
- securitycriticaldataformultiplegetandset.cs
- RegionInfo.cs
- PackageStore.cs
- BitmapCodecInfo.cs
- ConstraintStruct.cs
- EntitySetBase.cs
- Calendar.cs
- SafeNativeMemoryHandle.cs
- ConsumerConnectionPoint.cs
- LineSegment.cs
- XmlWriter.cs
- IntSecurity.cs
- HtmlDocument.cs
- ItemCollectionEditor.cs
- DataListItem.cs
- AmbientProperties.cs
- SvcMapFileSerializer.cs
- log.cs
- HttpModuleCollection.cs
- SchemaImporterExtensionsSection.cs
- MemoryPressure.cs
- WebBrowser.cs
- FolderBrowserDialog.cs
- ViewCellSlot.cs
- QueryExpr.cs
- MetabaseServerConfig.cs
- ActivityTypeCodeDomSerializer.cs
- TextElementEnumerator.cs
- Comparer.cs
- WindowsClaimSet.cs
- QilFactory.cs
- HttpListenerContext.cs
- PopupRoot.cs
- ProfileModule.cs
- ExecutionEngineException.cs
- CodeArrayCreateExpression.cs
- DecimalStorage.cs
- WebServiceBindingAttribute.cs
- TransformCollection.cs
- DummyDataSource.cs
- UnknownBitmapEncoder.cs
- ValidatorCollection.cs
- XmlResolver.cs
- FacetValueContainer.cs
- ContentWrapperAttribute.cs
- ViewLoader.cs
- Funcletizer.cs
- NativeMethods.cs
- Rotation3DAnimationBase.cs
- TreeBuilderBamlTranslator.cs
- HttpProfileGroupBase.cs
- XmlEnumAttribute.cs
- DataBindingHandlerAttribute.cs
- FaultConverter.cs
- FormatException.cs
- PictureBox.cs
- WebPartManager.cs
- ClientRuntimeConfig.cs
- ObjectTag.cs
- PackWebResponse.cs
- XPathQueryGenerator.cs
- CodeCompiler.cs
- ToolboxItemAttribute.cs
- DataListGeneralPage.cs
- KnownTypes.cs
- XmlSignatureManifest.cs
- StrongTypingException.cs
- CompiledQuery.cs
- StringCollectionEditor.cs
- FileSecurity.cs
- ConfigurationStrings.cs
- PrivateFontCollection.cs
- GraphicsContainer.cs
- HandlerBase.cs
- FormParameter.cs
- WorkingDirectoryEditor.cs
- ClientOperationFormatterProvider.cs
- EntityParameterCollection.cs