Pour répondre à la question initiale : si tu veux "lazy loader" des objets métier de façon générique, sans avoir besoin de savoir exactement comment ils marchent, il suffit de créer une interface qui sera implémentée par tous les objets qui supportent ce mode de chargement :
1 2 3 4 5
| public interface ILazyLoadable
{
void InitializeObject(object[] parameters);
bool IsInitialized { get; }
} |
Evidemment pour le passage de paramètres c'est pas super pratique, mais la généricité à un prix... On pourrait aussi utiliser un IDictionary<string, object> à la place de object[], ça faciliterait un peu la récupération des paramètres.
Partager