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
- DivideByZeroException.cs
- EpmContentDeSerializer.cs
- PersistenceTask.cs
- HttpMethodConstraint.cs
- DataControlFieldHeaderCell.cs
- CookielessHelper.cs
- MessagePartDescription.cs
- XmlBaseWriter.cs
- OdbcCommand.cs
- ProcessThreadCollection.cs
- MergeFilterQuery.cs
- OutputCacheModule.cs
- AsymmetricSignatureFormatter.cs
- GenericTypeParameterBuilder.cs
- IImplicitResourceProvider.cs
- ClassData.cs
- SerializerDescriptor.cs
- ManagedIStream.cs
- DisposableCollectionWrapper.cs
- AsyncStreamReader.cs
- XDRSchema.cs
- StyleXamlParser.cs
- FormViewPagerRow.cs
- Documentation.cs
- CryptoHelper.cs
- ConfigWriter.cs
- SchemaExporter.cs
- DPCustomTypeDescriptor.cs
- TableRow.cs
- SystemIPGlobalProperties.cs
- RectAnimation.cs
- Label.cs
- KeyPressEvent.cs
- MouseActionValueSerializer.cs
- CodeArrayIndexerExpression.cs
- X509UI.cs
- ExternalCalls.cs
- RegisteredScript.cs
- WebPartDisplayModeCancelEventArgs.cs
- TextInfo.cs
- XPathMessageFilterElementComparer.cs
- WindowsGraphics.cs
- SmiMetaDataProperty.cs
- ImageField.cs
- XslVisitor.cs
- ConfigDefinitionUpdates.cs
- SoapAttributeAttribute.cs
- OleDbEnumerator.cs
- ContextQuery.cs
- TabControlCancelEvent.cs
- CollectionBuilder.cs
- XDeferredAxisSource.cs
- PaintEvent.cs
- UIElement.cs
- ApplyImportsAction.cs
- DependencyPropertyDescriptor.cs
- XhtmlBasicTextViewAdapter.cs
- ProviderSettings.cs
- DataGridViewCellCancelEventArgs.cs
- HttpCookieCollection.cs
- _ListenerAsyncResult.cs
- ConfigUtil.cs
- CheckoutException.cs
- ComplexLine.cs
- HMACSHA512.cs
- PrinterSettings.cs
- UndoEngine.cs
- SmtpNegotiateAuthenticationModule.cs
- StaticFileHandler.cs
- FrameworkTemplate.cs
- WebPartConnection.cs
- InstallHelper.cs
- TraceData.cs
- DataErrorValidationRule.cs
- MultipartIdentifier.cs
- Material.cs
- PageHandlerFactory.cs
- _LocalDataStoreMgr.cs
- NotifyCollectionChangedEventArgs.cs
- ListenerElementsCollection.cs
- CompiledScopeCriteria.cs
- StringResourceManager.cs
- Point3DCollection.cs
- LinqExpressionNormalizer.cs
- DependencyObject.cs
- UnsafeNativeMethodsTablet.cs
- PropertyOrder.cs
- SoapParser.cs
- CookieProtection.cs
- ScopelessEnumAttribute.cs
- SqlTypesSchemaImporter.cs
- WebCodeGenerator.cs
- PrinterSettings.cs
- EditBehavior.cs
- COM2FontConverter.cs
- versioninfo.cs
- Queue.cs
- SoapEnumAttribute.cs
- ArrayTypeMismatchException.cs
- WorkflowViewElement.cs