In der neuesten Version von Iesi.Collections fehlt Iesi.Collections.Generic.ISet. Es scheint drei Alternativen zu sein:Was ist ein passender NHibernate/Iesi.Collections.Generic.ISet <T> Ersatz?
- LinkedHashSet
- ReadOnlySet
- SynchronizedSet
Iesi.Collections.Generic.ReadOnlySet scheint die Nähe des ISET und die Dokumentation wird zu sein:
... although it's advertised as immutable it really isn't.
Anyone with access to the wrapped set can still change the set.
Es scheint, dass der ReadOnlySet der beste Vertreter ist Platz für den ISet? Gegenwärtig fügt die Implementierung Elemente zu einem Set über öffentliche Methoden hinzu, so dass es am besten passt. Die Alternativen (IList, bag?) Scheinen mehr Ressourcen zu benötigen oder sind nicht so schnell/effizient)? Gibt es eine bessere Alternative? (Die Liste soll Duplikate nicht hat, die manuell überprüft werden kann)
Ich werde tun, Sachen wie:
public virtual ISet<MyClass> MyClass
{
get { return this.myClass }
}
public virtual void AddItem(MyClass item)
{
... // Null checks and initialize ISet if null
myClass.Add(item)
}
Im Grunde ist es läuft darauf hinaus, die Alternativen, gibt es Alternativen ohne negative Folgen wie in Geschwindigkeit usw.?
Iesi.Collection v3 ist auch auf NuGet. –