Ben,

This issue has now been fixed in cvs.

Thanks for reporting this and tracking it down !!!

Gert

----- Original Message ----- 
From: "Ben Lowery" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, December 10, 2003 9:37 PM
Subject: [Nant-users] bug in Element.cs?


> hi there,
>
> I'm trying to build a task that includes a [BuildElementCollection]
property
> that returns a null ref on first access.  ie:
>
> [TaskName("foo")]
> class Foo {
>   MyCollection col = null;
>
>   [BuildElementCollection("bits", "bit")]
>   public property MyBits {
>     get { return col; }
>     set { col = value; }
>   }
> }
>
> I think Element.cs has a bug on line 868.  It's tries to set the property
> value onto the AttributeConfigurator instead of onto the element:
>
> // if value of property is null, create new instance of collection
> object collection = propertyInfo.GetValue(Element,
>   BindingFlags.Default,
>   null,
>   null,
>   CultureInfo.InvariantCulture);
> if (collection == null) {
>   if (!propertyInfo.CanWrite) {
>     throw new BuildException(string.Format(CultureInfo.InvariantCulture,
>       "BuildElementArrayAttribute cannot be applied to read-only property
> with" +
>       " uninitialized collection-based value '{0}' element for <{1} ...
> />.",
>       buildElementArrayAttribute.Name, Name),
>       Location);
>   }
>   object instance = Activator.CreateInstance(propertyInfo.PropertyType,
>     BindingFlags.Public | BindingFlags.Instance,
>     null,
>     null,
>     CultureInfo.InvariantCulture);
>
>   // borked?
>   propertyInfo.SetValue(this,
>     instance,
>     BindingFlags.Default,
>     null,
>     null,
>     CultureInfo.InvariantCulture);
> }
>
> I think that last line should be:
>
>   propertyInfo.SetValue(this.Element,
>     instance,
>     BindingFlags.Default,
>     null,
>     null,
>     CultureInfo.InvariantCulture);
>
> Thanks,
>
> --b
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: SF.net Giveback Program.
> Does SourceForge.net help you be more productive?  Does it
> help you create better code?  SHARE THE LOVE, and help us help
> YOU!  Click Here: http://sourceforge.net/donate/
> _______________________________________________
> Nant-users mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/nant-users
>
>



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to