MethodDefinitions Table (System_Runtime Schema)

[This content is no longer valid. For the latest information on "M", "Quadrant", SQL Server Modeling Services, and the Repository, see the Model Citizen blog.]

Stores method definitions. This is a specialized extent in the Methods/MethodDefinitions/MethodReferences hierarchy.

Fields

The following table lists the fields in the MethodDefinitions table.

Column Type Required Description

Folder

[Repository.Item].[FolderId]

yes

The Modeling Services Folder that is associated with the method definition. References the [Repository.Item].[FoldersTable] view.

Id

bigint

yes

The identifier of the method definition. References the [System_Runtime].[Methods] view.

Access

smallint

yes

An enumeration value between 0 and 6 that describes the access restrictions for the method. These numeric values are equivalent to compiler, private, family and assembly, assembly, family, family or assembly, and public, respectively.

IsAbstract

bit

yes

A bit flag that indicates that the method is abstract.

IsStatic

bit

yes

A bit flag that indicates that the method is static.

IsVirtual

bit

yes

A bit flag that indicates that the method is virtual.

IsFinal

bit

yes

A bit flag that indicates that the method is final, meaning that this method cannot be overridden in derived classes.

IsNew

bit

yes

A bit flag that specifies that the method will get a new slot in the virtual method table.

IsToolSpecialName

bit

yes

A bit flag that specifies that the method name is special and has a reserved use by tools other than the common language runtime.

IsRuntimeSpecialName

bit

yes

A bit flag that specifies that the method name is special and has a reserved use by the common language runtime.

HidesByNameOnly

bit

yes

A bit flag that specifies that development tools should hide methods of the base class that match the name only, regardless of the method signature. When this flag is set to 0, methods are hidden based on the method signature.

IsPInvokeImplementation

bit

yes

A bit flag that indicates that the implementation is forwarded through Platform Invoke to an unmanaged method.

IsSingleThreaded

bit

yes

A bit flag that specifies that the body of the method is single-threaded.

NoInlining

bit

yes

A bit flag that specifies that this method should not be included directly into the code of any caller methods.

ReturnType

bigint

The return type signature of the method. References the [System_Runtime].[TypeSignatures] view.

ReturnTypeIsByRef

bit

yes

A bit flag that indicates that the return type is passed by reference.

ReturnTypeIsModified

bit

yes

A bit flag that indicates that the return type has custom modifiers applied to it. If so, there may be corresponding entries in [System_Runtime].[ReturnTypeCustomModifiers].

ReturnTypeMarshaledAs

nvarchar(max)

Specifies what unmanaged type the method return type should be marshaled as. If a custom marshaler is specified, this field contains the name of the custom marshaler and its cookie.

ReturnTypeMarshaledArrayElementType

nvarchar(max)

If the return type is marshaled as an ECMA-335 native array (LPArray), this will contain its element type, in the same format as MarshaledAs.

ReturnTypeMarshaledArraySizeParameterIndex

int

The index to the parameter in the method that provides the number of elements in a marshaled ECMA-335 native array (LPArray).

ReturnTypeMarshaledArraySizeConst

int

The number of elements in a marshaled ECMA-335 native array (LPArray).

Kind

smallint

yes

An enumeration value between 1 and 9 that describes the kind of the method. These numeric values are equivalent to "set property", "get property", "other property", "add event handler", "remove event handler", "raise event", "other event", "constructor", and "other". Note that this is not yet populated by the LoadAssembly.exe tool.

CallingConvention

smallint

yes

An enumeration value between 1 and 6 that describes the calling convention used by this method. These numeric values are equivalent to default, unmanaged cdecl, unmanaged fastcall, unmanaged stdcall, unmanaged thiscall, and variable arguments.

Documentation

nvarchar(max)

The XML Document fragment for the method. Note that this is not yet populated by the LoadAssembly.exe tool.

Attributes

nvarchar(max)

The custom attributes for the method. Note that this is not yet populated by the LoadAssembly.exe tool.

Code

nvarchar(max)

The reverse-engineered source code in the method body. Note that this is not yet populated by the LoadAssembly.exe tool.

Instructions

nvarchar(max)

The list of CIL instructions in the method body. Note that this is not yet populated by the LoadAssembly.exe tool.

Remarks

See Also

Reference

System_Runtime Tables
System_Runtime Schema

Send comments about this topic to Microsoft.