J'ai posé cette question dans les scripts NHibernate mais je pense que c'est plutôt une question générale. NHibernate utilise des générateurs proxy (par exemple Castle) pour créer son proxy.Définir la classe de base ou la fonctionnalité de base d'un proxy dynamique (par exemple, Castle, LinFu)
Ce que je voudrais faire est d'étendre le proxy généré afin qu'il implémente un peu de mon propre comportement personnalisé (c'est-à-dire un comparateur). J'ai besoin parce que le comportement standard .NET suivant ne parvient pas à produire les résultats corrects:
//object AC is a concrete class
collection.Contains(AC) = true
//object AP is a proxy with the SAME id and therefore represents the same instance as concrete AC
collection.Contains(AP) = false
Si mon comparateur a été mis en œuvre par AP (ne le match id) puis collection.Contains (AP) retournerait vrai, comme je Je m'attendrais à ce que les procurations soient implicites. (NB: Pour ceux qui disent que NH hérite de votre classe de base, oui, oui, mais NH peut aussi hériter d'une interface - ce que nous faisons)
Je ne suis pas du tout sûr que ce soit possible ou par où commencer. Est-ce quelque chose qui peut être fait dans l'un des générateurs de proxy communs que NH utilise?
Merci pour le conseil. Au moins maintenant je sais ce que je veux n'est pas totalement hors du mur. Je vais regarder dans LinFu. – GrahamB