Quelqu'un peut-il m'aider avec les attributs Import et ImportingConstructor dans MEF avec des exemples pertinents et quand l'utiliser? Quelle est l'utilisation de [Import (AllowDefault = true)]?Différence entre les attributs Import et ImportingConstructor dans MEF avec des exemples appropriés?
De ma compréhension du MEF:
attribut d'exportation est défini sur la classe de type T où T est l'interface et de créer une instance de cet attribut de classe d'importation doit être définie sur la variable de référence comme ci-dessous
[Export(typeof(ICalculator))]
class MySimpleCalculator : ICalculator
{
// Implement the interface
}
class MyMainClass
{
// MEF engine creates an instance as Export attribute is defined
// on MySimpleCalculator
[Import(typeof(ICalculator))]
public ICalculator calculator;
}
Si plusieurs exportations de type T sont définies dans un assemblage donné, nous pouvons utiliser l'attribut ImportMany.
Alors maintenant, quelqu'un peut-il expliquer quand utiliser Import et ImportingConstructor ainsi que l'attribut AllowDefault dans le constructeur?
Ce serait génial si quelqu'un peut expliquer avec de meilleurs exemples.
Toute aide serait appréciée. Merci