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
- UriSection.cs
- ContractSearchPattern.cs
- XmlComment.cs
- Vector.cs
- CatalogZoneBase.cs
- MetadataPropertyAttribute.cs
- _NetRes.cs
- ResourceDictionary.cs
- TableParaClient.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- StringFunctions.cs
- _RequestCacheProtocol.cs
- TextFormatter.cs
- SmtpReplyReader.cs
- ObjectDisposedException.cs
- SctClaimDictionary.cs
- ManagementObjectSearcher.cs
- ConnectionConsumerAttribute.cs
- SoapIncludeAttribute.cs
- SubpageParaClient.cs
- HwndSourceKeyboardInputSite.cs
- DbProviderFactories.cs
- FileClassifier.cs
- HtmlInputButton.cs
- LookupNode.cs
- XmlTextWriter.cs
- ModuleBuilderData.cs
- Qualifier.cs
- QuaternionConverter.cs
- CategoryAttribute.cs
- EventPropertyMap.cs
- NameScope.cs
- Matrix3D.cs
- VolatileEnlistmentState.cs
- _CookieModule.cs
- NavigationProgressEventArgs.cs
- ProfilePropertySettingsCollection.cs
- InheritanceRules.cs
- ParameterCollection.cs
- User.cs
- DataGridCommandEventArgs.cs
- HyperLinkField.cs
- WeakEventTable.cs
- FixedTextSelectionProcessor.cs
- ParsedAttributeCollection.cs
- GridPattern.cs
- LoadRetryAsyncResult.cs
- GraphicsState.cs
- TextEditorMouse.cs
- RefreshPropertiesAttribute.cs
- MemoryMappedViewStream.cs
- PageAsyncTask.cs
- WindowsAuthenticationModule.cs
- ScrollBar.cs
- Emitter.cs
- OutOfMemoryException.cs
- ProviderBase.cs
- DefinitionBase.cs
- MD5.cs
- FileDialog.cs
- DataGridViewAutoSizeModeEventArgs.cs
- GridEntryCollection.cs
- Calendar.cs
- DataAdapter.cs
- RequestUriProcessor.cs
- RepeatEnumerable.cs
- WebBrowserEvent.cs
- RadioButtonDesigner.cs
- HtmlTernaryTree.cs
- CapabilitiesAssignment.cs
- CommandLibraryHelper.cs
- IPGlobalProperties.cs
- DataShape.cs
- OleDbReferenceCollection.cs
- FixedTextContainer.cs
- EditableRegion.cs
- FilterableAttribute.cs
- XmlRawWriter.cs
- WebPartConnection.cs
- TreeWalker.cs
- Encoder.cs
- InputMethodStateTypeInfo.cs
- ParameterBuilder.cs
- BufferedReadStream.cs
- CompilerGlobalScopeAttribute.cs
- XmlChildEnumerator.cs
- XmlAttribute.cs
- StorageEntitySetMapping.cs
- MessageTransmitTraceRecord.cs
- DbReferenceCollection.cs
- _ChunkParse.cs
- EntityDataSourceWizardForm.cs
- FlatButtonAppearance.cs
- SoundPlayer.cs
- ValidationService.cs
- StreamHelper.cs
- RenderContext.cs
- loginstatus.cs
- DocumentSchemaValidator.cs
- UIElementIsland.cs