And how do you think explicit casting is implemented ? Morty ;) -----Original Message----- From: Shawn Wildermuth [mailto:[EMAIL PROTECTED]] Sent: Sun 5/19/2002 3:11 AM To: [EMAIL PROTECTED] Cc: Subject: Re: [DOTNET] BUG: Remoting does not distinguish methods differing only by return type
I don't get how this worked even without reflection. In C# (like C++ I thought) you could not have the return type as the only difference in the signature. How would the compiler figure out which to call? Thanks, Shawn Wildermuth [EMAIL PROTECTED] > -----Original Message----- > From: dotnet discussion [mailto:[EMAIL PROTECTED]] > On Behalf Of Brent E. Rector > Sent: Saturday, May 18, 2002 3:26 PM > To: [EMAIL PROTECTED] > Subject: [DOTNET] BUG: Remoting does not distinguish methods > differing only by return type > > > Remoting throws an ambiguous match exception when calling a > method on a remote MBR object that differs from another > method of the type only by the return type. Here's an example > using pseudo-C# syntax: > > internal class AppDomainInfoFetcher : System.MarshalByRefObject { > internal AppDomainInfo a (AssemblyName name) { . . . } > internal AssemblyName[] a (AssemblyName name) { . . . } > } > } > > Partition I 7.5.2 Assemblies and Scoping > Generally, names are not unique. Names are collected into > groupings called scopes. Within a scope, a name may refer to > multiple entities as long as they are of different kinds > (methods, fields, nested types, properties, and events) or > have different signatures. > > [Brent] The two methods called 'a' above have differing > signatures. Only CLS Rule 6 requires the return type part of > a signature to be ignored. But Remoting should work for > non-CLS compliant types too. > > CLS Rule 6: Fields and nested types shall be distinct by > identifier comparison alone, even though the CTS allows > distinct signatures to be distinguished. Methods, > properties, and events that have the same name (by identifier > comparison) shall differ by more than just the return type, > except as specified in CLS Rule 39. > > > -- Brent Rector, .NET Wise Owl > Demeanor for .NET - an obfuscation utility > http://www.wiseowl.com/Products/Products.aspx > > You can read > messages from the DOTNET archive, unsubscribe from DOTNET, or > subscribe to other DevelopMentor lists at http://discuss.develop.com. > You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.