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
- EntityViewContainer.cs
- BorderGapMaskConverter.cs
- LocalizedNameDescriptionPair.cs
- FormsIdentity.cs
- BoundsDrawingContextWalker.cs
- MappingSource.cs
- BufferModesCollection.cs
- HtmlInputFile.cs
- XmlMemberMapping.cs
- SequenceFullException.cs
- ModelFunction.cs
- UpdatePanelControlTrigger.cs
- MarkupCompilePass2.cs
- EntityCommandExecutionException.cs
- XamlBrushSerializer.cs
- CurrentChangingEventArgs.cs
- StringFormat.cs
- MailDefinition.cs
- FixedPageProcessor.cs
- TemplateControl.cs
- InstancePersistenceCommand.cs
- FormViewInsertEventArgs.cs
- CacheModeConverter.cs
- FunctionNode.cs
- TreeViewHitTestInfo.cs
- Accessible.cs
- HashCodeCombiner.cs
- QilGenerator.cs
- ElementAction.cs
- GridLengthConverter.cs
- MissingMemberException.cs
- DbSetClause.cs
- DbProviderConfigurationHandler.cs
- DataObjectFieldAttribute.cs
- BufferModeSettings.cs
- CompositeActivityValidator.cs
- Rethrow.cs
- ReadOnlyState.cs
- WebPartVerbsEventArgs.cs
- RenderTargetBitmap.cs
- GeometryModel3D.cs
- SessionPageStatePersister.cs
- ChangePassword.cs
- MeasurementDCInfo.cs
- HandoffBehavior.cs
- QualifierSet.cs
- ForeignConstraint.cs
- OwnerDrawPropertyBag.cs
- SQLByteStorage.cs
- AppDomain.cs
- XmlSubtreeReader.cs
- SqlCaseSimplifier.cs
- FrameworkReadOnlyPropertyMetadata.cs
- SessionEndingCancelEventArgs.cs
- X509Utils.cs
- DirectoryNotFoundException.cs
- TextWriter.cs
- DetailsViewInsertedEventArgs.cs
- XmlnsCache.cs
- DependencyProperty.cs
- SelectManyQueryOperator.cs
- milexports.cs
- ManagementNamedValueCollection.cs
- SqlBooleanMismatchVisitor.cs
- GlyphRunDrawing.cs
- ExtendedTransformFactory.cs
- SimplePropertyEntry.cs
- SignatureDescription.cs
- Point.cs
- ReferenceSchema.cs
- AttributeCollection.cs
- NTAccount.cs
- metrodevice.cs
- InfoCardArgumentException.cs
- AnnotationAuthorChangedEventArgs.cs
- CodeTypeReferenceExpression.cs
- EntityContainerEmitter.cs
- DaylightTime.cs
- DiscoveryServerProtocol.cs
- WebPartVerbsEventArgs.cs
- ParserOptions.cs
- OdbcEnvironmentHandle.cs
- CodeTryCatchFinallyStatement.cs
- WindowsScroll.cs
- Vector3dCollection.cs
- Schema.cs
- DispatcherOperation.cs
- Evidence.cs
- NativeMethods.cs
- Delegate.cs
- StatusBarAutomationPeer.cs
- ReadOnlyObservableCollection.cs
- AffineTransform3D.cs
- XsltLibrary.cs
- PropertyPathWorker.cs
- WebHttpSecurityModeHelper.cs
- DynamicFilter.cs
- XPathAncestorIterator.cs
- Header.cs
- RawStylusSystemGestureInputReport.cs