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
- NameTable.cs
- ConstructorArgumentAttribute.cs
- NavigationWindow.cs
- ImageAnimator.cs
- CfgParser.cs
- Attributes.cs
- ServiceReference.cs
- SmtpLoginAuthenticationModule.cs
- SqlDuplicator.cs
- LocalBuilder.cs
- EmptyCollection.cs
- Variant.cs
- ImportCatalogPart.cs
- ConsoleKeyInfo.cs
- loginstatus.cs
- EntityDataSourceSelectedEventArgs.cs
- DesignerVerb.cs
- EventSinkHelperWriter.cs
- ItemType.cs
- TextInfo.cs
- VectorAnimationUsingKeyFrames.cs
- InstancePersistenceEvent.cs
- VisualCollection.cs
- TypeConverterAttribute.cs
- OLEDB_Util.cs
- FileAuthorizationModule.cs
- ZoneButton.cs
- PersistenceParticipant.cs
- SvcMapFileSerializer.cs
- PerformanceCounterPermissionAttribute.cs
- DateTimeParse.cs
- StringUtil.cs
- UniformGrid.cs
- SafeTokenHandle.cs
- __Error.cs
- DBCommand.cs
- RunClient.cs
- ActiveXMessageFormatter.cs
- ListViewInsertionMark.cs
- XmlTextReaderImpl.cs
- Converter.cs
- TransactionFlowBindingElement.cs
- TypeDefinition.cs
- CheckBoxList.cs
- ScrollBar.cs
- TextDecorationUnitValidation.cs
- DataGridRowsPresenter.cs
- RawContentTypeMapper.cs
- safemediahandle.cs
- CatalogZoneBase.cs
- DelegateOutArgument.cs
- SafeViewOfFileHandle.cs
- DataView.cs
- _NegotiateClient.cs
- CacheAxisQuery.cs
- Module.cs
- IPPacketInformation.cs
- PermissionSetTriple.cs
- XmlQueryType.cs
- SurrogateSelector.cs
- UICuesEvent.cs
- XmlAttribute.cs
- RawStylusInputCustomDataList.cs
- SslStream.cs
- Rotation3D.cs
- httpapplicationstate.cs
- RSAPKCS1SignatureDeformatter.cs
- CursorConverter.cs
- MeasureItemEvent.cs
- Size3DValueSerializer.cs
- ArraySubsetEnumerator.cs
- CompoundFileStorageReference.cs
- EventData.cs
- ShapingWorkspace.cs
- ValidationError.cs
- TableCell.cs
- ManagementException.cs
- MsmqEncryptionAlgorithm.cs
- _LocalDataStoreMgr.cs
- PersonalizableTypeEntry.cs
- DesignerDataStoredProcedure.cs
- OleDbErrorCollection.cs
- MarginCollapsingState.cs
- DocumentGridContextMenu.cs
- Parameter.cs
- BooleanProjectedSlot.cs
- UndoManager.cs
- IconEditor.cs
- LassoSelectionBehavior.cs
- SimpleModelProvider.cs
- AnnotationComponentChooser.cs
- FrameSecurityDescriptor.cs
- XmlSchemaAnyAttribute.cs
- MetadataUtil.cs
- SetMemberBinder.cs
- Baml6Assembly.cs
- TreeViewAutomationPeer.cs
- GrammarBuilderPhrase.cs
- ACL.cs
- DataSourceHelper.cs