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
- PathGeometry.cs
- XmlAtomicValue.cs
- ObjectSecurity.cs
- AsyncResult.cs
- BindingRestrictions.cs
- NamespaceCollection.cs
- CanonicalizationDriver.cs
- ImageFormatConverter.cs
- TreeNodeSelectionProcessor.cs
- HostingPreferredMapPath.cs
- WorkflowApplication.cs
- EmptyCollection.cs
- InputReportEventArgs.cs
- MulticastOption.cs
- BufferModeSettings.cs
- HtmlElement.cs
- TextServicesDisplayAttribute.cs
- XPathPatternBuilder.cs
- OleDbCommand.cs
- X509ChainElement.cs
- InternalBase.cs
- PerformanceCounterTraceRecord.cs
- BasicExpandProvider.cs
- QueryProcessor.cs
- localization.cs
- Delay.cs
- CodeEntryPointMethod.cs
- NativeMethods.cs
- AutomationIdentifier.cs
- ResourceManager.cs
- HttpCapabilitiesEvaluator.cs
- PageParserFilter.cs
- ParentQuery.cs
- PointConverter.cs
- DynamicValueConverter.cs
- RowToParametersTransformer.cs
- GlyphsSerializer.cs
- NavigationEventArgs.cs
- ListViewCommandEventArgs.cs
- MetadataConversionError.cs
- VirtualPath.cs
- ActionFrame.cs
- DefaultWorkflowLoaderService.cs
- ValidationErrorCollection.cs
- EntityCollection.cs
- PrintPreviewDialog.cs
- ProfilePropertySettingsCollection.cs
- InputProcessorProfilesLoader.cs
- UIInitializationException.cs
- SafeProcessHandle.cs
- UpdateException.cs
- DelegateBodyWriter.cs
- TypeDescriptionProviderAttribute.cs
- LayoutEvent.cs
- DataGridCellItemAutomationPeer.cs
- QueryAsyncResult.cs
- TrackingStringDictionary.cs
- AttributeParameterInfo.cs
- ObsoleteAttribute.cs
- MessageQueue.cs
- DataControlFieldCollection.cs
- PolicyValidationException.cs
- CommentAction.cs
- XmlParserContext.cs
- WriterOutput.cs
- InternalCache.cs
- HandleCollector.cs
- Trace.cs
- Span.cs
- TransformerInfo.cs
- CheckoutException.cs
- MetadataSerializer.cs
- FileLogRecordEnumerator.cs
- ApplicationActivator.cs
- invalidudtexception.cs
- CallbackHandler.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- Membership.cs
- TaiwanCalendar.cs
- ConfigXmlReader.cs
- StringFormat.cs
- ContentPlaceHolder.cs
- DataSourceCacheDurationConverter.cs
- TcpSocketManager.cs
- Regex.cs
- PageRanges.cs
- WindowsListBox.cs
- LabelInfo.cs
- ClusterSafeNativeMethods.cs
- X509PeerCertificateAuthentication.cs
- StorageRoot.cs
- ValueOfAction.cs
- XmlFormatExtensionPointAttribute.cs
- ColorContext.cs
- ViewGenResults.cs
- BoundColumn.cs
- Matrix3DConverter.cs
- RoleServiceManager.cs
- Trigger.cs
- ReflectPropertyDescriptor.cs