This project has moved and is read-only. For the latest updates, please go here.

MEF Preview 6

Rating:        Based on 5 ratings
Reviewed:  3 reviews
Downloads: 4646
Released: Jul 13, 2009
Updated: Aug 28, 2009 by haveriss
Dev status: Stable Help Icon

Recommended Download

Application MEF_Preview_6
application, 4923K, uploaded Jul 13, 2009 - 4646 downloads

Release Notes

  • Includes Silverlight 3 solution configuration
  • Lazy<T> replaces Export<T>
  • ExportCollection removed
  • ImportMany now required for all collection imports
  • PartExportsInheritedAttribute replaced with InheritedExportAttribute
  • ExportAttribute and ImportAttribute are unsealed
  • API and implementation changes to support Stable Composition
    • xChanging events accompany all xChanged events
    • ComposablePartCatalogChangedEventArgs renamed to ComposablePartCatalogChangeEventArgs
    • New AtomicComposition class supports Stable Composition
  • CompositionContainer.GetExportedObject() and related overloads have been renamed to GetExportedValue()
  • CompositionEngine has been renamed ImportEngine
  • AttributedModelServices
    • AddExportedObject<T>() renamed to AddExportedValue<T>()
    • ComposeExportedObject<T>() renamed to ComposeExportedValue<T>()
    • New GetMetadataView<TMetadataView>() method
    • New SatisfyIImportsOnce() method
  • ICompositionService changes
    • SatisfyImports() renamed SatisfyImportsOnce() and no longer registers the part for recomposition
    • UnregisterForRecomposition() removed
    • CompositionServiceExtensions removed
  • ContractTypeAttribute removed since exports on interfaces are now inherited
  • Contract adapters have been removed

Reviews for this release

Excellent job!
by richterd on Jul 24, 2009 at 10:44 PM
Let's face it Lazy<T> is a cooler sounding name than Export<T>. Good ridden to the ExportCollection class too. Didn't really add much in terms of functionality.
by NoopMan on Jul 20, 2009 at 9:02 AM
I prefer the ImportMany attribute to the Import attribute. It makes a lot more sense. So does the Lazy<T> type instead of the Export<T> type. I had no serious issues upgrading from Preview 5 to Preview 6. Nice work. However, your Release notes say GetExportedObject() is changed to GetExportedValue(). I found it had changed to a property called Value.
by swhitlock on Jul 14, 2009 at 4:45 AM