PropertyDependenciesModelInspector -- Krzysztof Kozmic
On Friday, 5 October 2012 at 7:09 AM, Lundberg, Per wrote: > Hi, > > I’ve added a test case now. Can you point in me the right direction in the > Castle code for where the properties that should be injected are being > retrieved? (Some call to Type.GetProperties I’d assume) > > Best regards, > Per > > From: [email protected] > [mailto:[email protected]] On Behalf Of Lundberg, Per > Sent: den 26 september 2012 22:21 > To: [email protected] > (mailto:[email protected]) > Subject: RE: Properties in an internal class not being injected, even though > the class is public > > Hi again Krzysztof, > > I feel it would be good to try to get this fixed now. Please see my comments > in the bug report: > Property injection does not include public properties in internal class > (Silverlight only) > (http://issues.castleproject.org/issue/IOC-329?projectKey=IOC) > > Best regards, > Per > > From: [email protected] > [mailto:[email protected]] On Behalf Of Krzysztof Kozmic > Sent: den 17 februari 2012 11:25 > To: [email protected] > (mailto:[email protected]) > Subject: Re: Properties in an internal class not being injected, even though > the class is public > > cheers, > @K > > On 16/02/2012 11:48 PM, Lundberg, Per wrote: > Hi, > Yeah, that could be an idea. Im quite busy this week but we could do it at > some point. Ive added a bug report about it until then. > Best regards, > Per > From: [email protected] > (mailto:[email protected]) > [mailto:[email protected]] On Behalf Of Krzysztof Kozmic > Sent: den 16 februari 2012 14:41 > To: [email protected] > (mailto:[email protected]) > Subject: Re: Properties in an internal class not being injected, even though > the class is public > Yeah, > > please report it. I'm not working with Silverlight but if you want to pair > program on this and look for solution I'm happy to. > > @K > > On 16/02/2012 10:36 PM, Lundberg, Per wrote: > Hi, > Interesting it does indeed! I didnt think of that myself, because we never > (and I mean really never 0% of the time) use .ctor-based injection. Instead, > we use property-based injection with our own [Inject] and [InjectOptionally] > attributes, which does just what you would expect them to do :-) > It would be quite interesting to see if this is because of a limitation in > the SL .NET runtime, or if its something that can be worked around. I think > its nice to be able to let our services be internal, but if that makes the > injection silently fail, its no so nice of course. Please, check it out if > you like. (Do you want me to make a bug report for this also?) > (So, the answer to your second question is implicity yes also.) > Best regards, > Per > From: [email protected] > (mailto:[email protected]) > [mailto:[email protected]] On Behalf Of Krzysztof Kozmic > Sent: den 16 februari 2012 14:29 > To: [email protected] > (mailto:[email protected]) > Subject: Re: Properties in an internal class not being injected, even though > the class is public > Hi Per, > > that indeed is "interesting". Can't say from the top of my head I can see any > reason for it to do it. > If you make it a .ctor dependency does it work? > > Also, I know stupid question, but did you register IWindsorContainer in the > container? It's not available by default... > > @K > > On 16/02/2012 10:23 PM, Lundberg, Per wrote: > Hi! > Ive seen an interesting issue lately which affects how properties get > injected. My registration looks like this (I have to use AllTypes.* rather > than Component.* because Im calling a configuration method to help out with > the configuration, and I couldnt get that working with the Component.* > approach): > windsorContainer.Register(AllTypes > .From(type) > .Pick() > .LifestyleSingleton() > .Configure(c => c.ConfigurePropertyInjection())); > The ConfigurePropertyInjection method basically calls .Properties() with a > predicate, to make certain properties be included as mandatory, and others > included as optional, based on a customer attribute in our application > framework. > The class being registered looks like this: > internal sealed class InternalEntitiesInitializer : IAutoInitializedComponent > { > /// <summary> > /// The Windsor IoC container. > /// </summary> > [Inject] > public Castle.Windsor.IWindsorContainer WindsorContainer { get; set; } > Now, the really interesting thing This works, when running with WPF. The > WindsorContainer get injected. But with Silverlight, it doesnt. I presume its > because the class is internal, but the thing is that I have the > InternalsVisibleTo assembly property set up so that it should work. And I > mean, it finds the type (when registering it), so why on earth does it ignore > its properties? J > Thanks in advance for any help with this. > Best regards, > -- -- -- -- -- -- -- -- > PER LUNDBERG Software Engineer > [email protected] (mailto:[email protected])www.ecraft.com > (http://www.ecraft.com/) > > tel. +358 (0) 20 759 8687 > eCraft Oy Ab, Wolffskavgen 36, FI-65200 Vasa > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Castle Project Users" group. > To post to this group, send email to [email protected] > (mailto:[email protected]). > To unsubscribe from this group, send email to > [email protected] > (mailto:[email protected]). > For more options, visit this group at > http://groups.google.com/group/castle-project-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Castle Project Users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/castle-project-users?hl=en.
