In unoptimized model, the intermediate metadata tables such as MethodPtr are used. In 
this model, TypeDef's Method entry contains RID not in Method table, but in MethodPtr 
table, and the referenced record in MethodPtr table contains RID in the Method table. 
The type's records in MethodPtr table are contiguous, but in Method table they are 
not. 

The following intermediate tables are used only in unoptimized metadata: MethodPtr, 
FieldPtr, ParamPtr, EventPtr, PropertyPtr. There are also a couple tables specific to 
edit-and-continue -- ENCLog and ENCMap -- which are used in unoptimized model only. In 
optimized model all these tables are empty.

Thanks,
Serge

-----Original Message-----
From: Unmoderated discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] Behalf Of Fabian Schmied
Sent: Monday, June 21, 2004 11:59 AM
To: [EMAIL PROTECTED]
Subject: Re: [ADVANCED-DOTNET] Metadata question


> Unfortunately, you can't rely on the type's method tokens to be in
> contiguous sequence. This is characteristic of optimized metadata only
> ("#~" metadata stream).

How do you associate the method to its type when the tokens are not
contiguous? The MethodDef table does not contain a TypeDef token. Am I
missing something here?

But, of course, you are right: I wouldn't be able to use DefineMethod of
the unmanaged metadata API if the method tokens always had to be in order.
But how could that information be stored in the metadata tables when
unoptimized?

Fabian

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
Some .NET courses you may be interested in:

NEW! Guerrilla ASP.NET, 17 May 2004, in Los Angeles
http://www.develop.com/courses/gaspdotnetls

View archives and manage your subscription(s) at http://discuss.develop.com

===================================
This list is hosted by DevelopMentorŪ  http://www.develop.com
Some .NET courses you may be interested in:

NEW! Guerrilla ASP.NET, 17 May 2004, in Los Angeles
http://www.develop.com/courses/gaspdotnetls

View archives and manage your subscription(s) at http://discuss.develop.com

Reply via email to