error CS0229: Ambiguity between 'XX.Name' and 'YY.Name'

I tried to implement the following scenario in VC++ 2005 beta2: an object implements 2 interfaces, one defining a property get and the other defining a property set.
This works perfectly well when implemented in C#. However, in C++, I get the compiler error message transcripted below.

Here is the C++ source code:

namespace NS
{
public interface class INamed
{
public:
property String^ Name
{
String^ get();
}
};

public interface class INameable
{
public:
property String^ Name
{
void set(String^);
}
};

public ref class NamedObject : public INamed, public INameable
{
private:
String^ m_name;

public:
property String^ Name
{
virtual String^ get() = INamed::Name::get
{
return m_name;
}

virtual void set(String^ value) = INameable::Name::set
{
m_name = value;
}
}
};
}
When I try to use my object in a C# program:

{
NamedObject o = new NamedObject();
String name = o.Name;
}

I get the following compiler error:
error CS0229: Ambiguity between 'NS.INamed.Name' and 'NS.INameable.Name'

There should be no ambiguity since there is only one get and one set (and, as I mentionned before, the same code works in C#).

Is there anything wrong with my code (I hope so !).

Chris.

[1412 byte] By [Chris.G] at [2008-2-16]
# 1
Chris: I just tried your example with a recent build of both the C++ and the C# compilers. Your code compiled without any error and when I extended it slightly it also executed correctly.

So it looks as if you are seeing a Beta-2 bug that has since been fixed.

JonathanCavesMSFT at 2007-9-8 > top of Msdn Tech,Visual C++,Visual C++ Language...
# 2
Thanks for you reply. I'll use a workaround until the next (beta?) release of VS 2005.
Chris.
Chris.G at 2007-9-8 > top of Msdn Tech,Visual C++,Visual C++ Language...