Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.Activities / System / Activities / Expressions / DelegateArgumentValue.cs / 1305376 / DelegateArgumentValue.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
namespace System.Activities.Expressions
{
using System.Linq.Expressions;
using System.Runtime;
using System.Windows.Markup;
[ContentProperty("DelegateArgument")]
public sealed class DelegateArgumentValue : CodeActivity, IExpressionContainer
{
public DelegateArgumentValue()
: base()
{
}
public DelegateArgumentValue(DelegateArgument delegateArgument)
: this()
{
this.DelegateArgument = delegateArgument;
}
public DelegateArgument DelegateArgument
{
get;
set;
}
Expression IExpressionContainer.Expression
{
get
{
return ExpressionUtilities.CreateIdentifierExpression(this.DelegateArgument);
}
}
protected override void CacheMetadata(CodeActivityMetadata metadata)
{
if (this.DelegateArgument == null)
{
metadata.AddValidationError(SR.DelegateArgumentMustBeSet);
}
else
{
if (!this.DelegateArgument.IsInTree)
{
metadata.AddValidationError(SR.DelegateArgumentMustBeReferenced(this.DelegateArgument.Name));
}
if (!metadata.Environment.IsVisible(this.DelegateArgument))
{
metadata.AddValidationError(SR.DelegateArgumentNotVisible(this.DelegateArgument.Name));
}
if (!(this.DelegateArgument is DelegateInArgument) && !TypeHelper.AreTypesCompatible(this.DelegateArgument.Type, typeof(T)))
{
metadata.AddValidationError(SR.DelegateArgumentTypeInvalid(this.DelegateArgument, typeof(T), this.DelegateArgument.Type));
}
}
}
internal override bool TryGetValue(ActivityContext context, out T value)
{
try
{
context.AllowChainedEnvironmentAccess = true;
value = context.GetValue((LocationReference)this.DelegateArgument);
}
finally
{
context.AllowChainedEnvironmentAccess = false;
}
return true;
}
protected override T Execute(CodeActivityContext context)
{
return ExecuteWithTryGetValue(context);
}
}
}
// 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
- DBConnectionString.cs
- CallbackValidatorAttribute.cs
- Baml2006KeyRecord.cs
- ReaderWriterLockWrapper.cs
- path.cs
- MergeEnumerator.cs
- SeparatorAutomationPeer.cs
- TextElement.cs
- handlecollector.cs
- DomainConstraint.cs
- XPathSelfQuery.cs
- ListViewGroupItemCollection.cs
- HtmlInputText.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- ACE.cs
- ListViewInsertionMark.cs
- ThousandthOfEmRealDoubles.cs
- DataGridViewAutoSizeModeEventArgs.cs
- UnmanagedMemoryStreamWrapper.cs
- CodeDOMProvider.cs
- XamlSerializerUtil.cs
- SafeRightsManagementSessionHandle.cs
- SafeLibraryHandle.cs
- SettingsSavedEventArgs.cs
- BitVector32.cs
- XmlTypeAttribute.cs
- QilCloneVisitor.cs
- IChannel.cs
- FontDialog.cs
- GeneralTransform3DGroup.cs
- FormatVersion.cs
- SchemaCollectionCompiler.cs
- DataGrid.cs
- ClientSettings.cs
- HitTestFilterBehavior.cs
- WebControlsSection.cs
- TemplateControlBuildProvider.cs
- CultureTable.cs
- HandleCollector.cs
- AppDomainInfo.cs
- SymmetricAlgorithm.cs
- Thread.cs
- InputReport.cs
- ChildChangedEventArgs.cs
- TypeUsage.cs
- MobileResource.cs
- SoapReflectionImporter.cs
- MatrixUtil.cs
- ObjectDataSourceView.cs
- VarInfo.cs
- Encoder.cs
- InvokeSchedule.cs
- COAUTHIDENTITY.cs
- GlyphRunDrawing.cs
- VectorKeyFrameCollection.cs
- PingOptions.cs
- CodeObjectCreateExpression.cs
- DomainUpDown.cs
- ClonableStack.cs
- Point3D.cs
- RSAPKCS1SignatureFormatter.cs
- VerticalAlignConverter.cs
- FontSizeConverter.cs
- BamlLocalizableResourceKey.cs
- ResolvedKeyFrameEntry.cs
- OracleSqlParser.cs
- PropagatorResult.cs
- MultipleViewProviderWrapper.cs
- OrderablePartitioner.cs
- WindowsTreeView.cs
- RemoteWebConfigurationHostServer.cs
- HitTestParameters3D.cs
- ResolveNameEventArgs.cs
- WinEventHandler.cs
- OptimalBreakSession.cs
- TabControlEvent.cs
- NativeWrapper.cs
- BinaryFormatterWriter.cs
- FrugalList.cs
- BitmapEffectDrawing.cs
- CompiledQueryCacheEntry.cs
- SoapDocumentServiceAttribute.cs
- Soap.cs
- PrintDialog.cs
- MeshGeometry3D.cs
- MessageQueuePermissionEntry.cs
- MenuTracker.cs
- MatrixValueSerializer.cs
- Dump.cs
- MachinePropertyVariants.cs
- VisualStyleElement.cs
- XmlnsDictionary.cs
- AdapterUtil.cs
- JournalNavigationScope.cs
- RecipientInfo.cs
- XmlSerializationGeneratedCode.cs
- SettingsPropertyWrongTypeException.cs
- FactoryId.cs
- RequestSecurityTokenResponseCollection.cs
- InstanceDataCollection.cs