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
- DetailsViewPageEventArgs.cs
- BinaryObjectWriter.cs
- VirtualDirectoryMapping.cs
- WSHttpSecurityElement.cs
- TrailingSpaceComparer.cs
- SimpleHandlerBuildProvider.cs
- X509ScopedServiceCertificateElementCollection.cs
- SqlTypesSchemaImporter.cs
- DataKey.cs
- DataPagerFieldCollection.cs
- ChangeTracker.cs
- ControlSerializer.cs
- LowerCaseStringConverter.cs
- Int32Rect.cs
- UserControlBuildProvider.cs
- WebServiceClientProxyGenerator.cs
- TextMetrics.cs
- ScriptingJsonSerializationSection.cs
- GridView.cs
- EmptyReadOnlyDictionaryInternal.cs
- KeyedCollection.cs
- BStrWrapper.cs
- MultiBinding.cs
- DataBoundControlActionList.cs
- DurableServiceAttribute.cs
- mactripleDES.cs
- TdsParserStateObject.cs
- EncodingFallbackAwareXmlTextWriter.cs
- ExpressionEditorSheet.cs
- DataObjectSettingDataEventArgs.cs
- HttpServerVarsCollection.cs
- DoubleAnimationUsingPath.cs
- RMPermissions.cs
- SetterBaseCollection.cs
- ConstructorBuilder.cs
- OrthographicCamera.cs
- RichTextBoxAutomationPeer.cs
- CodeTypeConstructor.cs
- Crypto.cs
- XmlReflectionImporter.cs
- smtppermission.cs
- ModelFactory.cs
- SystemFonts.cs
- StatusBarPanelClickEvent.cs
- TableItemPattern.cs
- FormsAuthenticationUser.cs
- TextUtf8RawTextWriter.cs
- precedingsibling.cs
- CannotUnloadAppDomainException.cs
- DrawingBrush.cs
- ViewBox.cs
- OleDbErrorCollection.cs
- DecoderReplacementFallback.cs
- TypeSystemProvider.cs
- uribuilder.cs
- UIElementAutomationPeer.cs
- CustomBindingCollectionElement.cs
- DesignerAutoFormatStyle.cs
- AttributeCollection.cs
- SelectionRangeConverter.cs
- PeerHopCountAttribute.cs
- FileSystemEventArgs.cs
- DataErrorValidationRule.cs
- PickDesigner.xaml.cs
- GridViewColumn.cs
- FileDetails.cs
- JoinSymbol.cs
- TypeNameConverter.cs
- ResourcePermissionBaseEntry.cs
- TextServicesLoader.cs
- SystemKeyConverter.cs
- TraceSection.cs
- TextOptions.cs
- MethodBuilderInstantiation.cs
- _NegoState.cs
- SpeechEvent.cs
- FocusChangedEventArgs.cs
- GatewayDefinition.cs
- ColumnBinding.cs
- GridProviderWrapper.cs
- MergablePropertyAttribute.cs
- StandardToolWindows.cs
- Point3DKeyFrameCollection.cs
- DataGridViewRowStateChangedEventArgs.cs
- SqlMultiplexer.cs
- ProcessHostFactoryHelper.cs
- TableCellCollection.cs
- ProvidersHelper.cs
- SmtpCommands.cs
- ClientBuildManagerCallback.cs
- streamingZipPartStream.cs
- SwitchElementsCollection.cs
- XmlUtf8RawTextWriter.cs
- MetadataSource.cs
- OutputCacheModule.cs
- FontWeightConverter.cs
- XmlChildNodes.cs
- XmlSchemaObject.cs
- __TransparentProxy.cs
- MissingSatelliteAssemblyException.cs