Managed C++ DefaultMemberAttribute Bug
Messages   Related Types
This message was discovered on microsoft.public.dotnet.languages.vc.
Responses highlighted in red are from those people who are likely to be able to contribute good, authoratitive information to this discussion. They include Microsoft employees, MVP's and others who IMHO contribute well to these kinds of discussions.
Post a new message to this list...

ahmed alhamed via .NET 247 (VIP)
(Type your message here)
Hi, I am trying to write a managed class tha expose
Multiple Indexers Properties To C#, I use the 'DefaultMemberAttribute' Attribute,
but when i use the class from C# I get Strange Compiler Error.
Here Is The Managed C++:

[System::Reflection::DefaultMemberAttribute(S"It")]
    public __gc class Dummy
    {
    public public:
        __property Int32 get_It(Int32 I)
        {
            return str;
        }
        __property String* get_It(String* str)
        {
            return str;
        }
    };

When I Try This C# Client:
    class Class1
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Dummy.Dummy d = new Dummy.Dummy();
            Console.WriteLine(d[4]);
        }
    }
it run OK, But When I try This:
    class Class1
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main(string[] args)
        {
            Dummy.Dummy d = new Dummy.Dummy();
            Console.WriteLine(d["HH"]);
        }
    }
The Compiler Give this error:
"error CS1546: Property, indexer, or event '$Item$' is not supported by the language; try directly calling accessor method 'Dummy.Dummy.get_It(string)'"

I Don not if something that i have done is Wrong, Or Something in the
Managed C++ Compiler.

Thanks in Advance.

--------------------------------
From: ahmed alhamed

-----------------------
Posted by a user from .NET 247 (http://www.dotnet247.com/)

<Id>191+phbvWEq2cxiMJB/FQA==</Id>
Reply to this message...
 
    
Lord2702
You must have not typed or pasted the C++ code properly, when you are
passing an Int32 and getting Int32 the why you are returning str ?

"ahmed alhamed via .NET 247" <Click here to reveal e-mail address> wrote in message
news:OMg%23m%Click here to reveal e-mail address...
[Original message clipped]

'Dummy.Dummy.get_It(string)'"
[Original message clipped]

Reply to this message...
 
 
System.Console
System.Reflection.DefaultMemberAttribute




Ad
MBR BootFX
Best-of-breed application framework for .NET projects, developed by Matthew Baxter-Reynolds and MBR IT
 
 Copyright © Matthew Baxter-Reynolds 2001-2008. '.NET 247 Software Development Services' is a trading style of MBR IT Solutions Ltd.
Contact Us - Terms of Use - Privacy Policy - www.dotnet247.com