Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Xaml / ActivityBuilderHelper.cs / 1407647 / ActivityBuilderHelper.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Xaml { using System.Activities.Debugger; using System.Activities.Presentation.Model; using System.Collections.Generic; using System.ComponentModel; using System.Runtime; using System.Windows.Markup; internal class ActivityBuilderHelper { internal static bool IsActivityBuilderType(ModelItem modelItem) { if (null == modelItem) { throw FxTrace.Exception.AsError(new ArgumentNullException("modelItem")); } return modelItem.ItemType.IsAssignableFrom(typeof(ActivityBuilder)); } internal static ListGetVariables(object input) { if (null == input) { throw FxTrace.Exception.AsError(new ArgumentNullException("input")); } ModelItem astAsModelItem = input as ModelItem; ActivityBuilder instance = input as ActivityBuilder; if (null != astAsModelItem) { if (!astAsModelItem.ItemType.IsAssignableFrom(typeof(ActivityBuilder))) { throw FxTrace.Exception.AsError(new InvalidCastException(astAsModelItem.ItemType.FullName)); } instance = (ActivityBuilder)astAsModelItem.GetCurrentValue(); } else if (null == instance) { throw FxTrace.Exception.AsError(new InvalidCastException(input.GetType().FullName)); } List variables = new List (); foreach (DynamicActivityProperty property in instance.Properties) { if (property != null) { Variable autoVariable = GetVariableFromProperty(property); if (autoVariable != null) { variables.Add(autoVariable); } } } return variables; } internal static Variable GetVariableFromProperty(DynamicActivityProperty property) { Type variableType = null; Variable autoVariable = null; if (property.Type != null) { Type propertyType = property.Type; // if the property is an Argument create a variable of type T if (propertyType != null && typeof(Argument).IsAssignableFrom(propertyType)) { if (propertyType.IsGenericType) { variableType = propertyType.GetGenericArguments()[0]; } else { variableType = typeof(object); } } } if (variableType != null) { autoVariable = Variable.Create(property.Name, variableType, VariableModifiers.None); Argument argument = property.Value as Argument; if (argument != null) { autoVariable.Default = argument.Expression; } } return autoVariable; } } } // 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
- WebPartCancelEventArgs.cs
- CancelEventArgs.cs
- DbParameterCollectionHelper.cs
- InvalidCommandTreeException.cs
- ConnectionConsumerAttribute.cs
- ImageAnimator.cs
- StretchValidation.cs
- MultiPropertyDescriptorGridEntry.cs
- ValidatorCollection.cs
- EdmComplexTypeAttribute.cs
- FormViewModeEventArgs.cs
- Dictionary.cs
- PublisherMembershipCondition.cs
- CuspData.cs
- MimeParameter.cs
- DebuggerAttributes.cs
- ItemsControl.cs
- SystemResourceKey.cs
- SR.cs
- StrongBox.cs
- complextypematerializer.cs
- EntityDataSourceColumn.cs
- GridPatternIdentifiers.cs
- SafeMILHandle.cs
- GenericWebPart.cs
- RegistrySecurity.cs
- SignedXml.cs
- ContentIterators.cs
- Sentence.cs
- WmpBitmapEncoder.cs
- SqlDataSourceCache.cs
- MediaPlayer.cs
- SqlRewriteScalarSubqueries.cs
- SynchronizationFilter.cs
- BCLDebug.cs
- PopupRoot.cs
- VirtualizedCellInfoCollection.cs
- CqlParserHelpers.cs
- Label.cs
- HttpFileCollection.cs
- WebPartConnection.cs
- ResponseBodyWriter.cs
- ReaderOutput.cs
- TraceHandler.cs
- RijndaelManagedTransform.cs
- ChtmlTextWriter.cs
- ProfileServiceManager.cs
- EntityClientCacheEntry.cs
- CommonGetThemePartSize.cs
- Guid.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- TreeViewItemAutomationPeer.cs
- XmlChoiceIdentifierAttribute.cs
- ManifestResourceInfo.cs
- RectAnimationUsingKeyFrames.cs
- JpegBitmapDecoder.cs
- Privilege.cs
- DataControlCommands.cs
- MailAddressCollection.cs
- AbsoluteQuery.cs
- SessionStateModule.cs
- GridView.cs
- ShutDownListener.cs
- ReferenceEqualityComparer.cs
- CloudCollection.cs
- SafeRightsManagementQueryHandle.cs
- XmlBinaryReader.cs
- LinkButton.cs
- ECDiffieHellman.cs
- CookieParameter.cs
- Models.cs
- SetterBase.cs
- QueryCacheManager.cs
- CompositionAdorner.cs
- EpmCustomContentDeSerializer.cs
- PropertyGridEditorPart.cs
- BooleanAnimationUsingKeyFrames.cs
- EventSource.cs
- ToolStripGrip.cs
- __Error.cs
- WhitespaceSignificantCollectionAttribute.cs
- PerformanceCounterLib.cs
- ImageMetadata.cs
- BinHexEncoder.cs
- Int64Converter.cs
- NullableConverter.cs
- ThemeDictionaryExtension.cs
- WhiteSpaceTrimStringConverter.cs
- BoolLiteral.cs
- SslSecurityTokenParameters.cs
- ToolStripItem.cs
- AsyncSerializedWorker.cs
- DBConnection.cs
- WorkflowPageSetupDialog.cs
- QuaternionAnimationBase.cs
- RegularExpressionValidator.cs
- ClipboardData.cs
- FormClosedEvent.cs
- MethodCallExpression.cs
- ScrollBar.cs