Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Base / Interaction / Model / ModelFactory.cs / 1305376 / ModelFactory.cs
namespace System.Activities.Presentation.Model { using System.Activities.Presentation.Services; using System.Activities.Presentation; using System; ////// The ModelFactory class should be used to create instances /// of items in the designer. ModelFactory is designed to be /// a static API for convenience. The underlying implementation /// of this API simply calls through to the ModelService’s /// CreateItem method. /// public static class ModelFactory { ////// Creates a new item for the given item type. /// /// /// The designer's editing context. /// /// /// The type of item to create. /// /// /// An optional array of arguments that should be passed to the constructor of the item. /// ////// The newly created item type. /// ///if itemType or context is null. ///if there is no editing model in the context that can create new items. public static ModelItem CreateItem(EditingContext context, Type itemType, params object[] arguments) { return CreateItem(context, itemType, CreateOptions.None, arguments); } ////// Creates a new item for the given item type. /// /// /// The designer's editing context. /// /// /// The type of item to create. /// /// /// A set of create options to use when creating the item. The default value is CreateOptions.None. /// /// /// An optional array of arguments that should be passed to the constructor of the item. /// ////// The newly created item type. /// ///if itemType or context is null. ///if there is no editing model in the context that can create new items. public static ModelItem CreateItem(EditingContext context, Type itemType, CreateOptions options, params object[] arguments) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (itemType == null) throw FxTrace.Exception.ArgumentNull("itemType"); if (!EnumValidator.IsValid(options)) throw FxTrace.Exception.AsError(new ArgumentOutOfRangeException("options")); ModelService ms = context.Services.GetRequiredService(); return ms.InvokeCreateItem(itemType, options, arguments); } /// /// Creates a new model item by creating a deep copy of the isntance provided. /// /// /// The designer's editing context. /// /// /// The item to clone. /// ////// The newly created item. /// public static ModelItem CreateItem(EditingContext context, object item) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (item == null) throw FxTrace.Exception.ArgumentNull("item"); ModelService ms = context.Services.GetRequiredService(); return ms.InvokeCreateItem(item); } /// /// Create a new model item that represents a the value of a static member of a the given class. /// For example, to add a reference to Brushes.Red to the model call this methods with /// typeof(Brushes) and the string "Red". This will be serialized into XAML as /// {x:Static Brushes.Red}. /// /// /// The designer's editing context. /// /// /// The type that contains the static member being referenced. /// /// /// The name of the static member being referenced. /// ///public static ModelItem CreateStaticMemberItem(EditingContext context, Type type, string memberName) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (type == null) throw FxTrace.Exception.ArgumentNull("type"); if (memberName == null) throw FxTrace.Exception.ArgumentNull("memberName"); ModelService ms = context.Services.GetRequiredService (); return ms.InvokeCreateStaticMemberItem(type, memberName); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. namespace System.Activities.Presentation.Model { using System.Activities.Presentation.Services; using System.Activities.Presentation; using System; /// /// The ModelFactory class should be used to create instances /// of items in the designer. ModelFactory is designed to be /// a static API for convenience. The underlying implementation /// of this API simply calls through to the ModelService’s /// CreateItem method. /// public static class ModelFactory { ////// Creates a new item for the given item type. /// /// /// The designer's editing context. /// /// /// The type of item to create. /// /// /// An optional array of arguments that should be passed to the constructor of the item. /// ////// The newly created item type. /// ///if itemType or context is null. ///if there is no editing model in the context that can create new items. public static ModelItem CreateItem(EditingContext context, Type itemType, params object[] arguments) { return CreateItem(context, itemType, CreateOptions.None, arguments); } ////// Creates a new item for the given item type. /// /// /// The designer's editing context. /// /// /// The type of item to create. /// /// /// A set of create options to use when creating the item. The default value is CreateOptions.None. /// /// /// An optional array of arguments that should be passed to the constructor of the item. /// ////// The newly created item type. /// ///if itemType or context is null. ///if there is no editing model in the context that can create new items. public static ModelItem CreateItem(EditingContext context, Type itemType, CreateOptions options, params object[] arguments) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (itemType == null) throw FxTrace.Exception.ArgumentNull("itemType"); if (!EnumValidator.IsValid(options)) throw FxTrace.Exception.AsError(new ArgumentOutOfRangeException("options")); ModelService ms = context.Services.GetRequiredService(); return ms.InvokeCreateItem(itemType, options, arguments); } /// /// Creates a new model item by creating a deep copy of the isntance provided. /// /// /// The designer's editing context. /// /// /// The item to clone. /// ////// The newly created item. /// public static ModelItem CreateItem(EditingContext context, object item) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (item == null) throw FxTrace.Exception.ArgumentNull("item"); ModelService ms = context.Services.GetRequiredService(); return ms.InvokeCreateItem(item); } /// /// Create a new model item that represents a the value of a static member of a the given class. /// For example, to add a reference to Brushes.Red to the model call this methods with /// typeof(Brushes) and the string "Red". This will be serialized into XAML as /// {x:Static Brushes.Red}. /// /// /// The designer's editing context. /// /// /// The type that contains the static member being referenced. /// /// /// The name of the static member being referenced. /// ///public static ModelItem CreateStaticMemberItem(EditingContext context, Type type, string memberName) { if (context == null) throw FxTrace.Exception.ArgumentNull("context"); if (type == null) throw FxTrace.Exception.ArgumentNull("type"); if (memberName == null) throw FxTrace.Exception.ArgumentNull("memberName"); ModelService ms = context.Services.GetRequiredService (); return ms.InvokeCreateStaticMemberItem(type, memberName); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SqlCacheDependency.cs
- XamlRtfConverter.cs
- TokenBasedSetEnumerator.cs
- StringKeyFrameCollection.cs
- CopyCodeAction.cs
- GenericAuthenticationEventArgs.cs
- TextBlock.cs
- Qualifier.cs
- ValidationEventArgs.cs
- SpeakCompletedEventArgs.cs
- FontUnit.cs
- DataControlImageButton.cs
- Stackframe.cs
- VariantWrapper.cs
- RadioButtonDesigner.cs
- printdlgexmarshaler.cs
- ByteStreamMessageEncoder.cs
- Base64Encoder.cs
- CodeConditionStatement.cs
- SoapCodeExporter.cs
- ImmComposition.cs
- DispatcherOperation.cs
- EndGetFileNameFromUserRequest.cs
- XmlText.cs
- HandlerElementCollection.cs
- UntypedNullExpression.cs
- DrawingVisualDrawingContext.cs
- ReturnValue.cs
- IItemContainerGenerator.cs
- COSERVERINFO.cs
- Interlocked.cs
- ExpressionBinding.cs
- TypeToTreeConverter.cs
- ListViewItemSelectionChangedEvent.cs
- StatusBarPanelClickEvent.cs
- ResourceExpressionBuilder.cs
- WorkflowApplicationCompletedEventArgs.cs
- ReadContentAsBinaryHelper.cs
- PositiveTimeSpanValidatorAttribute.cs
- NamespaceList.cs
- SecurityHelper.cs
- base64Transforms.cs
- IISMapPath.cs
- SEHException.cs
- ReceiveCompletedEventArgs.cs
- CatalogZone.cs
- RepeatButtonAutomationPeer.cs
- WaitHandleCannotBeOpenedException.cs
- OrderedHashRepartitionEnumerator.cs
- SqlConnection.cs
- ProtectedUri.cs
- WSHttpBindingElement.cs
- PhysicalOps.cs
- XsltContext.cs
- SuppressMergeCheckAttribute.cs
- AccessibleObject.cs
- ListBox.cs
- WebControl.cs
- ILGenerator.cs
- MobileUserControlDesigner.cs
- Label.cs
- DefaultParameterValueAttribute.cs
- BehaviorEditorPart.cs
- StrongNameKeyPair.cs
- WindowsTreeView.cs
- KeyNotFoundException.cs
- DataGridLinkButton.cs
- DataGridComponentEditor.cs
- _KerberosClient.cs
- PathStreamGeometryContext.cs
- ToolStripContentPanel.cs
- StringOutput.cs
- XmlSerializer.cs
- HttpDebugHandler.cs
- PropertyToken.cs
- EntityPropertyMappingAttribute.cs
- Config.cs
- Win32.cs
- TableItemPattern.cs
- ResourceSet.cs
- HttpHeaderCollection.cs
- OleDbSchemaGuid.cs
- NativeMethods.cs
- DbConnectionClosed.cs
- streamingZipPartStream.cs
- HighlightVisual.cs
- OutputCacheSection.cs
- XmlSortKeyAccumulator.cs
- XmlUtil.cs
- TabItemWrapperAutomationPeer.cs
- IERequestCache.cs
- DiscoveryVersionConverter.cs
- FixedPageProcessor.cs
- InputLanguage.cs
- WebEventCodes.cs
- Missing.cs
- TypeLoadException.cs
- XmlWriterSettings.cs
- HttpCapabilitiesSectionHandler.cs
- CharacterString.cs