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
- SQLMoney.cs
- DirectionalAction.cs
- ProcessModuleCollection.cs
- TextDecorationCollectionConverter.cs
- CipherData.cs
- DataExchangeServiceBinder.cs
- ForAllOperator.cs
- FileDialog_Vista.cs
- SemanticTag.cs
- ParentQuery.cs
- UnionCqlBlock.cs
- Annotation.cs
- TextElementEnumerator.cs
- SecurityContext.cs
- FormViewPageEventArgs.cs
- BasicExpressionVisitor.cs
- X509ServiceCertificateAuthenticationElement.cs
- WindowsAuthenticationEventArgs.cs
- ApplicationHost.cs
- StringCollectionMarkupSerializer.cs
- Translator.cs
- ScrollItemPattern.cs
- UnsafeNativeMethods.cs
- SmtpNtlmAuthenticationModule.cs
- DefaultTextStore.cs
- FontCollection.cs
- ClockGroup.cs
- CollectionType.cs
- OuterGlowBitmapEffect.cs
- EnumValidator.cs
- DataGridViewComboBoxEditingControl.cs
- ReadOnlyCollectionBase.cs
- ApplicationDirectoryMembershipCondition.cs
- TextTrailingCharacterEllipsis.cs
- DecimalAnimationUsingKeyFrames.cs
- DbParameterHelper.cs
- PerformanceCounterLib.cs
- WindowsGraphics.cs
- ColumnMapCopier.cs
- ToolStripCodeDomSerializer.cs
- InvalidOleVariantTypeException.cs
- QueryOutputWriter.cs
- grammarelement.cs
- SQLString.cs
- AssemblyCollection.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- NotifyCollectionChangedEventArgs.cs
- PageThemeBuildProvider.cs
- DataBoundControlAdapter.cs
- ContentTextAutomationPeer.cs
- Activator.cs
- Bold.cs
- DrawingContextDrawingContextWalker.cs
- Border.cs
- ResourceProviderFactory.cs
- SpeechSeg.cs
- WorkflowValidationFailedException.cs
- PanelStyle.cs
- ResizeGrip.cs
- StickyNoteHelper.cs
- SystemColorTracker.cs
- RolePrincipal.cs
- IssuanceLicense.cs
- X500Name.cs
- FastEncoderWindow.cs
- CompareValidator.cs
- Cursors.cs
- Stackframe.cs
- X509Certificate2Collection.cs
- TableParaClient.cs
- Menu.cs
- ChannelSinkStacks.cs
- Rect3D.cs
- MsmqIntegrationChannelFactory.cs
- WorkflowServiceBehavior.cs
- TemplatedAdorner.cs
- InfiniteTimeSpanConverter.cs
- SessionParameter.cs
- Ref.cs
- ByteStream.cs
- RowToFieldTransformer.cs
- HttpModuleCollection.cs
- ReliableDuplexSessionChannel.cs
- NativeMethods.cs
- AttachedPropertyBrowsableAttribute.cs
- DateTimeOffset.cs
- EntityStoreSchemaGenerator.cs
- VariableExpressionConverter.cs
- TextContainer.cs
- DockingAttribute.cs
- Version.cs
- SqlFunctions.cs
- SmtpReplyReaderFactory.cs
- CompleteWizardStep.cs
- CollectionChange.cs
- PropertyItemInternal.cs
- SQLGuidStorage.cs
- Certificate.cs
- PointAnimationBase.cs
- KerberosTicketHashIdentifierClause.cs