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
- ClosableStream.cs
- AuthenticationSchemesHelper.cs
- TableChangeProcessor.cs
- ExtenderHelpers.cs
- ContextStack.cs
- Unit.cs
- ConfigXmlSignificantWhitespace.cs
- LoadGrammarCompletedEventArgs.cs
- RouteItem.cs
- OleDbParameterCollection.cs
- Condition.cs
- MethodRental.cs
- ResourceProviderFactory.cs
- Transform3DCollection.cs
- ControlSerializer.cs
- OleDbTransaction.cs
- XPathQueryGenerator.cs
- InternalSendMessage.cs
- TextDecorationCollection.cs
- BookmarkTable.cs
- SubstitutionList.cs
- SplitContainer.cs
- MessageQueueKey.cs
- DBSqlParserTable.cs
- TargetInvocationException.cs
- OutputCacheSection.cs
- XsdBuilder.cs
- TypeInfo.cs
- CodeBinaryOperatorExpression.cs
- PrincipalPermission.cs
- BulletedList.cs
- PLINQETWProvider.cs
- _HelperAsyncResults.cs
- ConnectionAcceptor.cs
- Margins.cs
- SimpleNameService.cs
- RtfControlWordInfo.cs
- WebControlParameterProxy.cs
- CompensatableTransactionScopeActivityDesigner.cs
- RuleSetReference.cs
- IntranetCredentialPolicy.cs
- DesignerAdapterUtil.cs
- BreakRecordTable.cs
- RootBrowserWindowAutomationPeer.cs
- TypeConverterAttribute.cs
- Semaphore.cs
- AutomationProperties.cs
- DefaultTraceListener.cs
- wgx_commands.cs
- IpcClientChannel.cs
- FileDialog_Vista.cs
- DesignerDeviceConfig.cs
- GeometryModel3D.cs
- FixedPosition.cs
- ApplicationGesture.cs
- ForwardPositionQuery.cs
- _ListenerAsyncResult.cs
- DuplicateWaitObjectException.cs
- HtmlInputHidden.cs
- SmtpCommands.cs
- MultipartContentParser.cs
- PeerToPeerException.cs
- LinkConverter.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DbCommandDefinition.cs
- Baml6ConstructorInfo.cs
- ProxyHelper.cs
- PrintControllerWithStatusDialog.cs
- CounterCreationData.cs
- WebScriptMetadataMessage.cs
- _NetworkingPerfCounters.cs
- RawMouseInputReport.cs
- XmlIlVisitor.cs
- CloudCollection.cs
- ChangePassword.cs
- EntityRecordInfo.cs
- ToolboxComponentsCreatingEventArgs.cs
- ToolStripScrollButton.cs
- ReflectionUtil.cs
- LinqDataSourceView.cs
- SqlDataReader.cs
- AssemblySettingAttributes.cs
- ListQueryResults.cs
- DetailsViewRowCollection.cs
- SystemTcpConnection.cs
- ListBoxAutomationPeer.cs
- StrongTypingException.cs
- PageHandlerFactory.cs
- MatrixTransform.cs
- ZoneLinkButton.cs
- DataBindingCollection.cs
- HttpModuleCollection.cs
- MarkupProperty.cs
- UpdateTracker.cs
- XamlFilter.cs
- Component.cs
- DropSource.cs
- RsaSecurityTokenAuthenticator.cs
- XmlJsonWriter.cs
- metadatamappinghashervisitor.hashsourcebuilder.cs