That didn't seem to help.  I'm Windsor is dealing with the
ProxyGenerator obviously, but the test below emulates the problem I'm
having.   Can't be sure that's represents what Windsor is doing,
but...

[code]
  [TestFixture]
  public class ProxyTests
  {
    [Test]
    public void will_implement_interface_publicly()
    {
      var person = (new ProxyGenerator
()).CreateInterfaceProxyWithoutTarget<IViewModel>();

      var nameProp = person.GetType().GetProperties().FirstOrDefault(x
=> x.Name == "Name");

      Assert.IsNotNull(nameProp, "Didn't find name on proxy.");
    }


  }

  public class ViewModel : IViewModel
  {
    public string Name { get; set; }
  }

  public interface IViewModel
  {
    string Name { get; set; }
  }
[/code]


On Dec 29, 10:31 am, Krzysztof Koźmic <[email protected]>
wrote:
> Would it help if the explicit implementation methods were public?
> I committed a change that makes them public a second ago. to DP repository.
> Please download the trunk version and check if it improves your situation.
>
> Krzysztof
>
> On 2009-12-29 16:19, cromwellryan wrote:
>
>
>
> > I'm stuck between a rock and a hard place.  I was using DP2.1 for a
> > WPF project, but ran into the known Null Namespace data binding
> > problem (https://connect.microsoft.com/VisualStudio/feedback/
> > ViewFeedback.aspx?FeedbackID=508202).  I'm trying DP2.2 and the
> > problem I run into there is the Explicit interface implementations.
> > This is actually regarding an interface that is (currently) implicitly
> > implemented for my ViewModel, the Component implementation in Windsor
> > config, so I'm not exactly sure what is going on here.  I do notice
> > that the Proxy being resolved is of the Service interface type
> > registered in the container rather than the implementation as
> > described in my example below.  This is causing all of my DataBindings
> > to fail since explicit interface implementations are private.
>
> > [Code]
> > Example of the problem:
> > interface IViewModel {
> >    string Name { get; set; }
> > }
>
> > class ViewModel : IViewModel {
> >    public string Name { get; set; }
> > }
>
> > Generated proxy seems to be something along the lines of:
> > class ViewModelProxy : IViewModel {
> >    string IViewModel.Name { get; set; } // Delegates to ViewModel
> > }
> > [/Code]
>
> > --
>
> > 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 
> > athttp://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.


Reply via email to