Hi Gheribi,

> I believe 'out' and 'ref' are just for the high level languages such as C# &
> VB.Net. The CLR doesn't use them in no way.
> These attributes are translated into bits in the flags of the parameter. The
> method signature doesn't contain any parameter flag in it.

Yep, that's exactly what I meant. In Cecil they are represented by the
same type, a ReferenceType, with no distinction between them.

> The return type is a part of the method signature. It's not just for the
> case of the op_Implicit & op_Explicit methods.   ...
> Serge Lidin said :
> "... The common language runtime allows you to overload the methods on the
> return type and even on the calling convention."

Thanks for the correction on that. I was pointed that way by CLS Rule
38, "Properties [and methods] may be overloaded based only on the
number and types of their parameters, except the conversion
operators ... which may also be overloaded based on their return
type."

However, based on your feedback, I realize that I needed to
distinguish between a CLS rule and the CLR behavior. So you're quite
correct, and thanks again for pointing that out!

-- Keith

--~--~---------~--~----~------------~-------~--~----~
--
mono-cecil
-~----------~----~----~----~------~----~------~--~---

Reply via email to