J'ai un DTO qui peut être entièrement chargé ou paresseux en utilisant Lazy Load Pattern. Le mode de chargement dépend de ce dont l'application Flex a besoin. Cependant, ce DTO sera envoyé à une application Flex (swf). Normalement, une collection par exemple, ne sera chargée que lorsqu'elle sera appelée. Dans mon cas cependant, la collection ne sera appelée que dans Flex, donc mon implémentation côté .NET ne fonctionnera évidemment pas dans ce cas (sauf si Flex ferait un appel serveur ... quelque chose que je voudrais éviter).Appeler un getter sans l'affecter à quoi que ce soit (chargement paresseux)
Dans le getter de la collection, les données sont extraites de la base de données. Si je travaillais avec des pages ASP.NET, cela fonctionnerait, mais pas si le DTO est envoyé à Flex.
Comment gérez-vous cela? Je pourrais appeler le getter avant d'envoyer le DTO à Flex, mais cela semble horrible ... + appeler le getter ne peut être fait que s'il est assigné à quelque chose (et la variable locale qui contiendra la collection ne sera jamais utilisée ...).
EagerLoad ou Load était mon idée du nom de la fonction. Nous sommes arrivés à la même conclusion ici qu'une méthode ferait bien. –
Y at-il un moyen d'appeler le getter dans cette méthode Finalize sans avoir à l'assigner à une variable? –
Je ne pense pas sans utiliser la réflexion. Vous pouvez cependant refactoriser l'appel getter d'une méthode qui définit la propriété, puis la méthode Finalize appelle cette même méthode. Je refactoriserais probablement ceci pour employer la réflexion aussi bien qu'elle pourrait être employée par toutes vos propriétés. – tvanfosson