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
- ArgIterator.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- MsmqIntegrationChannelListener.cs
- MessageQueue.cs
- DataAccessException.cs
- Events.cs
- HostedHttpRequestAsyncResult.cs
- CultureTableRecord.cs
- ColorConvertedBitmap.cs
- TextParaLineResult.cs
- IgnoreFileBuildProvider.cs
- RMEnrollmentPage3.cs
- AddressHeaderCollection.cs
- CodeDomConfigurationHandler.cs
- GuidelineSet.cs
- TemplateXamlParser.cs
- TableItemPatternIdentifiers.cs
- IOException.cs
- ClientOptions.cs
- XPathNavigatorReader.cs
- XmlEventCache.cs
- Bits.cs
- WpfPayload.cs
- IntranetCredentialPolicy.cs
- BaseDataListActionList.cs
- PanelStyle.cs
- EndpointDiscoveryElement.cs
- UIElement3D.cs
- DragEvent.cs
- TypeInitializationException.cs
- StateChangeEvent.cs
- WinFormsUtils.cs
- DataPagerFieldCommandEventArgs.cs
- ImageListImageEditor.cs
- UIElement3DAutomationPeer.cs
- DateTimeValueSerializer.cs
- CodeAttributeDeclarationCollection.cs
- ILGenerator.cs
- DataGridViewSelectedColumnCollection.cs
- CustomErrorCollection.cs
- NativeRightsManagementAPIsStructures.cs
- AdditionalEntityFunctions.cs
- InheritanceAttribute.cs
- VerbConverter.cs
- XdrBuilder.cs
- Pair.cs
- XPathBuilder.cs
- OracleColumn.cs
- LiteralLink.cs
- RawAppCommandInputReport.cs
- SystemDiagnosticsSection.cs
- BufferCache.cs
- NetWebProxyFinder.cs
- Stack.cs
- CacheEntry.cs
- OleStrCAMarshaler.cs
- LinkDesigner.cs
- Triangle.cs
- BinaryFormatterSinks.cs
- ClassHandlersStore.cs
- AssertSection.cs
- EntityCommand.cs
- XPathDocumentIterator.cs
- ColorEditor.cs
- OleDbRowUpdatedEvent.cs
- ValidationResult.cs
- WsdlBuildProvider.cs
- LogLogRecordEnumerator.cs
- DataGridViewRowPostPaintEventArgs.cs
- SqlInternalConnectionSmi.cs
- ServerValidateEventArgs.cs
- DataFormat.cs
- DoubleLinkListEnumerator.cs
- XmlWellformedWriter.cs
- ToRequest.cs
- OutputCacheProviderCollection.cs
- COSERVERINFO.cs
- TypeNameParser.cs
- PageThemeBuildProvider.cs
- ByteConverter.cs
- dtdvalidator.cs
- CodeGeneratorOptions.cs
- ImageCodecInfo.cs
- DataGridColumn.cs
- PartialCachingControl.cs
- UriScheme.cs
- CommonServiceBehaviorElement.cs
- AutoResetEvent.cs
- IncrementalCompileAnalyzer.cs
- TextEditor.cs
- FamilyMap.cs
- XslAst.cs
- ListViewCommandEventArgs.cs
- ECDsa.cs
- MetafileHeader.cs
- DataPagerCommandEventArgs.cs
- WebPartConnectVerb.cs
- DecodeHelper.cs
- Keyboard.cs
- WinEventWrap.cs