System.Reflection.ModuleHandle Class
Public struct
Definition
A handle that provides access to metadata for a module. It can be used to obtain a Module
instance that represents the module.
Syntax
public struct ModuleHandle
Properties
Property | Type | Description |
---|---|---|
Value | IntPtr |
Gets the internal pointer to the module. |
Methods
Method | Signature | Description |
---|---|---|
GetModule | Module GetModule() |
Returns the Module represented by this handle. |
GetObjectData | void GetObjectData(SerializationInfo info, StreamingContext context) |
Implements ISerializable to serialize the handle. |
Equals | bool Equals(ModuleHandle handle) |
Determines whether two ModuleHandle instances are equal. |
GetHashCode | int GetHashCode() |
Returns a hash code for this instance. |
Examples
Retrieve a ModuleHandle
for the currently executing assembly and get its Module
object.
using System;
using System.Reflection;
class Demo
{
static void Main()
{
// Obtain a module handle from a type
ModuleHandle handle = typeof(Demo).Module.ModuleHandle;
// Convert the handle to a Module instance
Module module = handle.GetModule();
Console.WriteLine($"Module Name: {module.Name}");
Console.WriteLine($"Fully Qualified Name: {module.FullyQualifiedName}");
Console.WriteLine($"Metadata Token: 0x{module.MetadataToken:X8}");
}
}
Remarks
ModuleHandle
is a low‑level representation of a module and does not expose the full reflection API. Use Module
for richer introspection. The handle can be persisted across AppDomain boundaries but should be revalidated using GetModule
before usage.