Update of /cvsroot/nhibernate/nhibernate/src/NHibernate/Collection
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5621/NHibernate/Collection
Modified Files:
ArrayHolder.cs
Log Message:
ToArray was not working when a null element was added to the array. I
was getting a cast exception - this was appearing with null elements going
into a DateTime array.
Index: ArrayHolder.cs
===================================================================
RCS file: /cvsroot/nhibernate/nhibernate/src/NHibernate/Collection/ArrayHolder.cs,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** ArrayHolder.cs 28 Mar 2004 06:01:29 -0000 1.8
--- ArrayHolder.cs 24 Jun 2004 15:26:12 -0000 1.9
***************
*** 146,157 ****
public override void EndRead(CollectionPersister persister, object owner)
{
!
for(int i = 0 ;i < tempListIdentifier.Count; i++)
{
object element = persister.ElementType.ResolveIdentifier(tempListIdentifier[i], session, owner);
tempList[i] = element;
}
- array = ((ArrayList)tempList).ToArray(elementClass);
//tempList = null;
//tempListIdentifier = null;
--- 146,158 ----
public override void EndRead(CollectionPersister persister, object owner)
{
! array = System.Array.CreateInstance(elementClass, tempListIdentifier.Count);
!
for(int i = 0 ;i < tempListIdentifier.Count; i++)
{
object element = persister.ElementType.ResolveIdentifier(tempListIdentifier[i], session, owner);
+ ( (System.Array)array ).SetValue(element, i);
tempList[i] = element;
}
//tempList = null;
//tempListIdentifier = null;
|