RIA 1 0 We need K We need











![Export [Export(typeof(User. Control))] public class Widget 1 : User. Control { public string Message Export [Export(typeof(User. Control))] public class Widget 1 : User. Control { public string Message](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-12.jpg)
![Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import] public string Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import] public string](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-13.jpg)
![Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import(“Hello. MEF. Message”)] Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import(“Hello. MEF. Message”)]](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-14.jpg)
![Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-15.jpg)



![Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-19.jpg)
![Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-20.jpg)

![Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-22.jpg)
![Customize [Widget(Location=Location. Top)] public class Widget 1 : User. Control { public string Message Customize [Widget(Location=Location. Top)] public class Widget 1 : User. Control { public string Message](https://slidetodoc.com/presentation_image/515973eee52120edb07773dc2e5ba47a/image-23.jpg)














- Slides: 37
RIA 1. 0
We need…. . K We need…. . J A C We need…. . G F E RIA 1. 0 We need…. . D I BH We need….
The Managed Extensibility Framework (MEF) is a new library in Silverlight 4 for building applications that can be incrementally extended. > For customers > For you and your team > Always there, always ready
parts.
Demo
Export Import Compose it.
Export [Export(typeof(User. Control))] public class Widget 1 : User. Control { public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Export
Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import] public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Import
Import [Export(typeof(User. Control))] public class Widget 1 : User. Control { [Import(“Hello. MEF. Message”)] public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Import
Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public IEnumerable<User. Control> { get; set; } } Main Page Import. Many
Compose it. Part. Intializer: “Compose yourself” public Main. Page() { Initialize. Component(); Part. Initializer. Satisfy. Imports(this); } Main Page Compose
Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control { public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Export
Import [Export(typeof(User. Control))] public class Main. Page: User. Control { [Import. Many(typeof(User. Control))] public IEnumerable<Lazy<User. Control, IWidget. Metadata> { get; set; } } Main Page Import. Many
Export [Export. Metadata(“Location”, Location. Top)] [Export(typeof(User. Control))] public class Widget 1 : User. Control { public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Export
Customize [Widget(Location=Location. Top)] public class Widget 1 : User. Control { public string Message { get{return(string) Button. Content; } set{Button. Content=value; } } } Widget 1 Export
Demo
Demo
partner blogs. microsoft. co. il/blogs/arielbh
> Module Loader
partner blog. Mono. On. The. Web. info
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at Microsoft. PDC. com
> > channel 9. msdn. com/learn Built by Developers for Developers….
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U. S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.