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
- SchemaEntity.cs
- VersionValidator.cs
- OdbcConnectionFactory.cs
- VisualStateGroup.cs
- CodeTypeParameterCollection.cs
- QilGeneratorEnv.cs
- RemotingAttributes.cs
- ShellProvider.cs
- UdpRetransmissionSettings.cs
- FormsIdentity.cs
- ParentUndoUnit.cs
- RTLAwareMessageBox.cs
- BitmapDownload.cs
- ScaleTransform3D.cs
- EdmTypeAttribute.cs
- DataGridViewSortCompareEventArgs.cs
- FieldTemplateUserControl.cs
- DeviceSpecific.cs
- RoutedEventConverter.cs
- GeometryCollection.cs
- UndirectedGraph.cs
- EpmContentDeSerializer.cs
- SQLSingle.cs
- ValueUnavailableException.cs
- SQLDecimalStorage.cs
- DataGridViewComboBoxCell.cs
- MaterializeFromAtom.cs
- ContractValidationHelper.cs
- ViewCellRelation.cs
- SecUtil.cs
- ParenthesizePropertyNameAttribute.cs
- SecurityHeaderTokenResolver.cs
- MemoryRecordBuffer.cs
- XslAstAnalyzer.cs
- XpsThumbnail.cs
- DllNotFoundException.cs
- TemplateBaseAction.cs
- HostingEnvironmentSection.cs
- RequestContext.cs
- SoapObjectReader.cs
- WindowsFormsEditorServiceHelper.cs
- Int64Storage.cs
- Graphics.cs
- ZipIOFileItemStream.cs
- LocatorPart.cs
- EndpointAddressMessageFilterTable.cs
- GiveFeedbackEventArgs.cs
- IdentityReference.cs
- FileCodeGroup.cs
- TreeNodeBindingCollection.cs
- PersistenceProviderElement.cs
- AdornerDecorator.cs
- CheckBox.cs
- XmlC14NWriter.cs
- PasswordBox.cs
- CallbackException.cs
- CssClassPropertyAttribute.cs
- X500Name.cs
- SystemIPv4InterfaceProperties.cs
- Stylus.cs
- PropertyTab.cs
- AsymmetricKeyExchangeDeformatter.cs
- SqlXml.cs
- TableItemStyle.cs
- contentDescriptor.cs
- EntityDataSourceState.cs
- ServiceEndpointElementCollection.cs
- ServerValidateEventArgs.cs
- TypeGenericEnumerableViewSchema.cs
- ReadOnlyDataSourceView.cs
- Vector3DCollection.cs
- SQLDecimalStorage.cs
- SqlCommand.cs
- XPathSingletonIterator.cs
- CollectionView.cs
- RegexMatch.cs
- DoWorkEventArgs.cs
- IconConverter.cs
- ListViewHitTestInfo.cs
- Registry.cs
- HtmlTableCellCollection.cs
- CodeTypeReference.cs
- UnsafeNativeMethodsMilCoreApi.cs
- CardSpacePolicyElement.cs
- Action.cs
- DesignTimeTemplateParser.cs
- DelegateCompletionCallbackWrapper.cs
- AnnotationComponentManager.cs
- DeferredRunTextReference.cs
- CustomAttributeSerializer.cs
- CodeAssignStatement.cs
- ToolStripTextBox.cs
- DataGridColumnFloatingHeader.cs
- ComboBox.cs
- SearchForVirtualItemEventArgs.cs
- IsolatedStorageFilePermission.cs
- FilteredXmlReader.cs
- BrowserCapabilitiesCodeGenerator.cs
- DataTemplateSelector.cs
- ToolBar.cs