Slide 12
Slide 12 text
Plugin system
機能追加をプラグインで
MEF (Microsoft Extensibility Framework)
追加機能を DLL で配布できる形へ
[Export(typeof(IPlugin))]
[Export(typeof(ITool))]
[ExportMetadata("Title", "KanColleCounter")]
[ExportMetadata("Description", "Simply counter")]
[ExportMetadata("Version", "1.1")]
[ExportMetadata("Author", "@Grabacr07")]
public class KanColleCounter : IPlugin, ITool
{
// ...
}
[ImportMany(RequiredCreationPolicy = CreationPolicy.Shared)]
private IEnumerable> importedAll;
[ImportMany(RequiredCreationPolicy = CreationPolicy.Shared)]
private IEnumerable> importedSettings;
[ImportMany(RequiredCreationPolicy = CreationPolicy.Shared)]
private IEnumerable> importedNotifiers;
[ImportMany(RequiredCreationPolicy = CreationPolicy.Shared)]
private IEnumerable> importedTools;
Plugin side
KanColleViewer side