2010-07-06 3 views
0

J'ai besoin d'une solution pour cela: Comment intercepter la méthode ISet.Add pour que je n'ai pas besoin de faire d'enfants.Parent = parent, mais jus parent.Children.Add (enfants) ;Nhibernate Définir comment intercepter la méthode Add()

public class MyClass 
{ 
public MyClass Parent; 
public ISet<MyClass> Childrens; 
} 

Je veux faire:

var mc = new MyClass(); 
var mc2 = new MyClass(); 
mc.Childrens.Add(mc2); 

et non

var mc = new MyClass(); 
var mc2 = new MyClass(); 
mc.Childrens.Add(mc2); 
mc2.Parent=mc; 

Répondre

3

Je crée simplement une méthode AddChild qui le fait.

Vous pouvez également exposer la propriété publique comme collection que Frederik readonly démontre ...

What is the best practice for readonly lists in NHibernate

+0

Oui, je peux le faire, mais cela va utiliser un certain nombre de personnes, et je ne peux pas cacher la méthode ISet.Add() et certains vont l'utiliser. – Luka

0
public IList<MyClass> Childrens 
+0

pourquoi IList au lieu de l'ISET ? – Luka

Questions connexes