Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / AddIn / AddIn / System / Addin / Pipeline / CollectionAdapters.cs / 1305376 / CollectionAdapters.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CollectionAdapters ** ** Purpose: Provides methods to convert from IListto IListContract ** and vice versa. ** ===========================================================*/ using System; using System.Collections.Generic; using System.AddIn.Contract; using System.AddIn; namespace System.AddIn.Pipeline { public static class CollectionAdapters { // Create a IListContract wrapper for an IList. This is typically done // by an addin adapter that wants to pass a list of objects to the host, // or vice versa. public static IListContract ToIListContract ( IList collection, Converter viewContractAdapter, Converter contractViewAdapter) { if (collection == null) return null; return new ListContractAdapter (collection, viewContractAdapter, contractViewAdapter); } public static IListContract ToIListContract (IList collection) { if (collection == null) return null; Converter c = new Converter (IdentityConverter ); return ToIListContract(collection, c, c); } // Create an IList that wraps a IContractList. The returned IList will // have a lifetimeToken for the remote IContractList. Its finalizer // will revoke the lifetimeToken. public static IList ToIList ( IListContract collection, Converter contractViewAdapter, Converter viewContractAdapter) { if (collection == null) return null; return new ContractListAdapter (collection, contractViewAdapter, viewContractAdapter); } public static IList ToIList (IListContract collection) { if (collection == null) return null; Converter c = new Converter (IdentityConverter ); return ToIList(collection, c, c); } private static T IdentityConverter (T item) { return item; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CollectionAdapters ** ** Purpose: Provides methods to convert from IList to IListContract ** and vice versa. ** ===========================================================*/ using System; using System.Collections.Generic; using System.AddIn.Contract; using System.AddIn; namespace System.AddIn.Pipeline { public static class CollectionAdapters { // Create a IListContract wrapper for an IList. This is typically done // by an addin adapter that wants to pass a list of objects to the host, // or vice versa. public static IListContract ToIListContract ( IList collection, Converter viewContractAdapter, Converter contractViewAdapter) { if (collection == null) return null; return new ListContractAdapter (collection, viewContractAdapter, contractViewAdapter); } public static IListContract ToIListContract (IList collection) { if (collection == null) return null; Converter c = new Converter (IdentityConverter ); return ToIListContract(collection, c, c); } // Create an IList that wraps a IContractList. The returned IList will // have a lifetimeToken for the remote IContractList. Its finalizer // will revoke the lifetimeToken. public static IList ToIList ( IListContract collection, Converter contractViewAdapter, Converter viewContractAdapter) { if (collection == null) return null; return new ContractListAdapter (collection, contractViewAdapter, viewContractAdapter); } public static IList ToIList (IListContract collection) { if (collection == null) return null; Converter c = new Converter (IdentityConverter ); return ToIList(collection, c, c); } private static T IdentityConverter (T item) { return item; } } } // 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
- NumberAction.cs
- RoutedEventConverter.cs
- DefaultPropertyAttribute.cs
- StatusBarPanel.cs
- LockRecoveryTask.cs
- ContextDataSourceContextData.cs
- Inline.cs
- TriggerActionCollection.cs
- CLRBindingWorker.cs
- FixedDocument.cs
- MeasureData.cs
- DesignerView.xaml.cs
- HttpProfileBase.cs
- _NTAuthentication.cs
- LoginCancelEventArgs.cs
- SurrogateChar.cs
- TrackingLocation.cs
- MailWriter.cs
- RtfNavigator.cs
- ContravarianceAdapter.cs
- DesignBindingValueUIHandler.cs
- CounterSetInstance.cs
- WebPartCollection.cs
- ModulesEntry.cs
- UInt16.cs
- ExpressionBuilder.cs
- EntityDataSourceSelectedEventArgs.cs
- DesignTimeType.cs
- CommandManager.cs
- DataReaderContainer.cs
- XamlReaderHelper.cs
- SpeechAudioFormatInfo.cs
- TextDecorationCollection.cs
- ProviderBase.cs
- BatchParser.cs
- NullableConverter.cs
- ToggleButton.cs
- Page.cs
- FontWeights.cs
- InvalidPrinterException.cs
- InitializerFacet.cs
- CheckBoxField.cs
- BrowserCapabilitiesFactoryBase.cs
- ToolboxItemFilterAttribute.cs
- ListParaClient.cs
- Volatile.cs
- DefaultValueAttribute.cs
- EdmItemError.cs
- TabPanel.cs
- GestureRecognitionResult.cs
- Operator.cs
- SchemaAttDef.cs
- CodeIndexerExpression.cs
- XPathNodeInfoAtom.cs
- PiiTraceSource.cs
- ResourceWriter.cs
- WorkflowViewElement.cs
- SkinBuilder.cs
- BindStream.cs
- QueryOperationResponseOfT.cs
- CanonicalFormWriter.cs
- TransformerInfoCollection.cs
- Pointer.cs
- Int16Converter.cs
- ObjectDataSource.cs
- EditorBrowsableAttribute.cs
- TypePresenter.xaml.cs
- GenericTypeParameterConverter.cs
- MatrixStack.cs
- XmlElementAttribute.cs
- PageRanges.cs
- DataFieldEditor.cs
- ListParaClient.cs
- WebPartVerb.cs
- ContextMenuAutomationPeer.cs
- CheckedListBox.cs
- HtmlInputHidden.cs
- ColumnTypeConverter.cs
- Debug.cs
- RectangleGeometry.cs
- AppDomainShutdownMonitor.cs
- RunInstallerAttribute.cs
- SamlAssertion.cs
- ChangeProcessor.cs
- SingleTagSectionHandler.cs
- DescriptionAttribute.cs
- RelationshipDetailsCollection.cs
- FormViewUpdatedEventArgs.cs
- BmpBitmapEncoder.cs
- TableItemPatternIdentifiers.cs
- SectionVisual.cs
- WebColorConverter.cs
- TimeSpanStorage.cs
- MarkupCompilePass1.cs
- BinHexDecoder.cs
- ToolStripRendererSwitcher.cs
- BinaryCommonClasses.cs
- Decorator.cs
- DbProviderFactoriesConfigurationHandler.cs
- ScanQueryOperator.cs