C# में Type.GetTypeHandle और Type.GetTypeFromHandle मेथड का उपयोग करके किसी टाइप के रनटाइम हैंडल से मूल टाइप ऑब्जेक्ट को पुनः प्राप्त किया जा सकता है। यह तकनीक रिफ्लेक्शन और लो-लेवल टाइप मैनिपुलेशन में उपयोगी होती है।
उदाहरण 1: बेसिक उपयोग
using System;
public class Demo
{
public static void Main()
{
Type type1 = typeof(short);
RuntimeTypeHandle typeHandle = Type.GetTypeHandle(type1);
Type type = Type.GetTypeFromHandle(typeHandle);
Console.WriteLine("Attributes = " + type.Attributes);
}
}
आउटपुट
Attributes = AutoLayout, AnsiClass, Class, Serializable, BeforeFieldInit
उदाहरण 2: System.Type के साथ
using System;
public class Demo
{
public static void Main()
{
Type type1 = typeof(System.Type);
RuntimeTypeHandle typeHandle = Type.GetTypeHandle(type1);
Type type = Type.GetTypeFromHandle(typeHandle);
Console.WriteLine("Attributes = " + type.Attributes);
}
}
आउटपुट
Attributes = AutoLayout, AnsiClass, Class, Serializable, BeforeFieldInit
दोनों उदाहरणों में Type.GetTypeHandle टाइप का अपारदर्शी हैंडल लौटाता है, जिसे Type.GetTypeFromHandle द्वारा वापस Type ऑब्जेक्ट में बदला जाता है। यह प्रक्रिया टाइप की मेटाडेटा विशेषताओं तक पहुंचने में सक्षम बनाती है।