Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------- // 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 List GetVariables(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
- DeflateStream.cs
- RunWorkerCompletedEventArgs.cs
- SortKey.cs
- ClientClassGenerator.cs
- EndPoint.cs
- BaseCollection.cs
- FrameworkReadOnlyPropertyMetadata.cs
- WhileDesigner.xaml.cs
- WebConfigurationHost.cs
- Rotation3DKeyFrameCollection.cs
- PointConverter.cs
- BlurBitmapEffect.cs
- CharKeyFrameCollection.cs
- Walker.cs
- ColumnBinding.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- PointAnimationUsingPath.cs
- Model3DGroup.cs
- ColorAnimation.cs
- GridViewCancelEditEventArgs.cs
- RawMouseInputReport.cs
- AutomationPatternInfo.cs
- Rules.cs
- MethodRental.cs
- objectquery_tresulttype.cs
- DataSourceView.cs
- Point.cs
- DataGridViewTopRowAccessibleObject.cs
- OrthographicCamera.cs
- ASCIIEncoding.cs
- SID.cs
- TextBoxAutomationPeer.cs
- ImageProxy.cs
- ChildDocumentBlock.cs
- XmlChoiceIdentifierAttribute.cs
- ApplyTemplatesAction.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- UnmanagedMemoryStream.cs
- TreeWalkHelper.cs
- FloaterParagraph.cs
- MachinePropertyVariants.cs
- CodeAccessSecurityEngine.cs
- FileRecordSequence.cs
- TimelineGroup.cs
- DNS.cs
- TableDetailsCollection.cs
- ToolStripHighContrastRenderer.cs
- TouchFrameEventArgs.cs
- ScrollChrome.cs
- ColorConvertedBitmapExtension.cs
- DataBoundControlActionList.cs
- DynamicMethod.cs
- ResourceExpressionBuilder.cs
- StandardMenuStripVerb.cs
- MemberInfoSerializationHolder.cs
- CqlBlock.cs
- Activity.cs
- unsafeIndexingFilterStream.cs
- WindowsAuthenticationEventArgs.cs
- XmlnsCache.cs
- FixedBufferAttribute.cs
- CryptoConfig.cs
- TableCell.cs
- SafeFileMappingHandle.cs
- SQLBoolean.cs
- XmlUtf8RawTextWriter.cs
- TypeToStringValueConverter.cs
- SqlSelectClauseBuilder.cs
- BasicKeyConstraint.cs
- ToolStripButton.cs
- xsdvalidator.cs
- CachedPathData.cs
- HtmlContainerControl.cs
- ProtocolsConfiguration.cs
- StorageFunctionMapping.cs
- OdbcConnectionPoolProviderInfo.cs
- DataGridTextBox.cs
- DesignObjectWrapper.cs
- XmlAttribute.cs
- TripleDES.cs
- CodeExpressionStatement.cs
- ScaleTransform.cs
- SequenceDesignerAccessibleObject.cs
- FormViewDeletedEventArgs.cs
- MachineKeySection.cs
- HttpResponseHeader.cs
- DictionaryBase.cs
- ConfigurationPropertyAttribute.cs
- LineServices.cs
- XpsViewerException.cs
- PropertyDescriptorCollection.cs
- DbConnectionStringCommon.cs
- DataGridItemCollection.cs
- SiteMapNodeCollection.cs
- SectionVisual.cs
- DictionaryBase.cs
- _NtlmClient.cs
- ObjectListCommandCollection.cs
- BuildProvider.cs
- CapabilitiesPattern.cs