MEF Preview 6

Rating:        Based on 5 ratings
Reviewed:  3 reviews
Downloads: 4622
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 - 4622 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 9: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. http://blog.noop.se/archive/2009/07/20/mef-preview-6-out-the-door.aspx
by NoopMan on Jul 20, 2009 at 8: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 3:45 AM