Re: Parameter metadata

From: Fabian Schmied (REMOVETHISfabianDOTschmied_at_fhs-hagenbergDOTacDOTat)
Date: 04/30/04


Date: Fri, 30 Apr 2004 20:16:56 +0200

Michael Sparks schrieb:

> The metadata for parameters is split between the parameter's signature and
> the param table.
> I noticed that the in/out specifiers get stored in the param table as
> opposed to the signature.
> Is there a reason for this?
> I'm sure that I'm just missing something, but I can't seem to think up any
> scenario where you'd want two methods to match on signature, but then be
> uncallable due to an in/out conflict.

The in/out difference is also reflected in the signature: for out and
ref parameters, you have a BYREF signature element (which indicates that
a reference to the argument is passed instead of the argument itself),
IIRC. The Params table contains additional information, e.g. whether a
BYREF is an out or ref parameter.

Fabian



Relevant Pages

  • [Patch] [LTC] ECC <= 112
    ... Please note that these short hash codes are NOT secure. ... To keep signature size small, ... @param out The destination for the signature ... goto LBL_ERR; ...
    (sci.crypt)
  • Parameter metadata
    ... The metadata for parameters is split between the parameter's signature and ... I noticed that the in/out specifiers get stored in the param table as ... opposed to the signature. ...
    (microsoft.public.dotnet.framework.clr)
  • Re: Parameter metadata
    ... The difference is for the automatic marshaller. ... The signature contains all that is needed by the CLR to make method calls ... > the param table. ...
    (microsoft.public.dotnet.framework.clr)