1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
// La Factory ne peut pas être statique si tes plugins sont chargés dans des sandboxes puisque les membres statiques sont liés à un appdomain, gaffe.
public static class Factory
{
public static void Register(string extension, Func<string, Image>);
public static Image Create(string filename);
}
public namespace Plugin
{
public class ImageTga : Image
{
public ImageTga(string filename);
}
public static class PluginEntryPoint
{
// Méthode appelée au chargement du plugin
public static void RegisterPlugin()
{
Facotry.Register(".tga", (filename) => new ImageTga(filename));
}
} |