Hey all,

Congrats on another release,
I've only installed on my mac at the moment (excellent packaging!) and  
have had a go at getting my project to run and for the most part it  
works perfectly.

I have found one issue, which I'm trying to write a unit test for at  
the moment but expect that like other issues I've had (and solved) in  
the past it is probably more due to me doing something wrong:
Running this static method -

                public static T [] 
GetDirectives<T>(IEnumerable<AbstractDirective>  
directives) where T : AbstractDirective {
                        Console.WriteLine("@@@ Orig T is " + typeof(T).Name);
                        List<AbstractDirective> matches = new  
List<AbstractDirective>(directives).FindAll(delegate(AbstractDirective  
directive) {
                                                        Console.WriteLine("@@@ 
T is {0}", typeof(T).Name);
                                                        return directive is T;
                                                });
                        Console.WriteLine("@@@ Final T is " + typeof(T).Name);
                        
                        return matches.ConvertAll<T>(delegate(AbstractDirective 
directive)  
{ return directive as T; }).ToArray();
                }

I get the output -
@@@ Orig T is RegisterDirective
@@@ T is AssemblyDirective
@@@ T is AssemblyDirective
@@@ Final T is RegisterDirective

The RegisterDirective and AssemblyDirective classes inherit the same  
abstract class AbstractDirective.  So what we are seeing is that the  
generic type T is different inside the delegate, it is not a type that  
is currently accounted for in the directives enumeration or anything,  
just a different class type.

Can anyone tell me if they can see anything silly? I assume there is a  
better way to select a particular type from a list that I should be  
doing instead?

Mike Cleaver
[EMAIL PROTECTED]


_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to