Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में वर्तमान टाइप द्वारा इम्प्लीमेंटेड/इनहेरिटेड सभी इंटरफेसेज प्राप्त करें

Type.GetInterfaces() मेथड का उपयोग करके वर्तमान टाइप द्वारा इम्प्लीमेंटेड या इनहेरिटेड सभी इंटरफेसेज प्राप्त करें।

सिंटैक्स

public Type[] GetInterfaces();

उदाहरण 1: float टाइप

using System;

public class Demo {
    public static void Main() {
        Type type = typeof(float);
        
        // विशिष्ट इंटरफेस प्राप्त करें
        Type myInterface = type.GetInterface("IFormattable", true);
        
        // सभी इंटरफेसेज प्राप्त करें
        Type[] myInterfaces = type.GetInterfaces();
        
        Console.WriteLine("Interface = " + myInterface);
        Console.WriteLine("All the Interfaces...");
        for (int i = 0; i < myInterfaces.Length; i++) {
            Console.WriteLine("" + myInterfaces[i]);
        }
    }
}

आउटपुट

Interface = System.IFormattable
All the Interfaces...
System.IComparable
System.IFormattable
System.IConvertible
System.IComparable`1[System.Single]
System.IEquatable`1[System.Single]

उदाहरण 2: int टाइप

using System;

public class Demo {
    public static void Main() {
        Type type = typeof(int);
        
        Type myInterface = type.GetInterface("IFormattable");
        Type[] myInterfaces = type.GetInterfaces();
        
        Console.WriteLine("Interface = " + myInterface);
        Console.WriteLine("All the Interfaces...");
        for (int i = 0; i < myInterfaces.Length; i++) {
            Console.WriteLine("" + myInterfaces[i]);
        }
    }
}

आउटपुट

Interface = System.IFormattable
All the Interfaces...
System.IComparable
System.IFormattable
System.IConvertible
System.IComparable`1[System.Int32]
System.IEquatable`1[System.Int32]

कस्टम क्लास के लिए

public interface IAnimal { void Speak(); }
public interface IPet { string Name { get; } }
public interface IIdentifiable { int Id { get; } }

public class Dog : IAnimal, IPet, IIdentifiable {
    public void Speak() => Console.WriteLine("Woof!");
    public string Name { get; set; }
    public int Id { get; set; }
}

// उपयोग
Type dogType = typeof(Dog);
Type[] interfaces = dogType.GetInterfaces();

foreach (var iface in interfaces) {
    Console.WriteLine(iface.Name);
}
// आउटपुट:
// IAnimal
// IPet
// IIdentifiable
// IEquatable`1 (यदि इम्प्लीमेंट किया गया)
// आदि

GetInterface vs GetInterfaces

मेथडरिटर्नउपयोग
GetInterface(name)Type (सिंगल)नाम से विशिष्ट इंटरफेस
GetInterface(name, ignoreCase)Typeकेस-इनसेंसिटिव खोज
GetInterfaces()Type[]सभी इंटरफेसेज (इनहेरिटेड सहित)

इंटरफेस मैपिंग विवरण

// विस्तृत मैपिंग
InterfaceMapping map = type.GetInterfaceMap(typeof(IAnimal));
Console.WriteLine("Interface: " + map.InterfaceType);
Console.WriteLine("Target: " + map.TargetType);

for (int i = 0; i < map.InterfaceMethods.Length; i++) {
    Console.WriteLine($"Interface method: {map.InterfaceMethods[i].Name}");
    Console.WriteLine($"Implementation: {map.TargetMethods[i].Name}");
}

सामान्य इंटरफेसेज (बिल्ट-इन टाइप्स)

  • IComparable / IComparable<T> - क्रमबद्धता
  • IEquatable<T> - टाइप-सेफ समानता
  • IFormattable - कस्टम फॉर्मेटिंग
  • IConvertible - बेस टाइप कन्वर्जन
  • IDisposable - रिसोर्स क्लीनअप
  • IEnumerable / IEnumerable<T> - इटरेशन
  1. - C# में वर्तमान एन्यूमरेशन प्रकार के सदस्यों के नाम प्राप्त करें

    Type.GetEnumNames() मेथड एन्यूमरेशन स्थिरांक के नामों का एक सरणी लौटाता है। यह केवल एनम प्रकारों पर काम करता है; अन्यथा ArgumentException फेंकता है। उदाहरण 1: गैर-एनम प्रकार (string) using System; public class Demo { enum Vehicle { Car, Bus, Bike } public static void Main() { tr

  1. - C# में वर्तमान इंस्टेंस का प्रकार प्राप्त करें

    C# में किसी ऑब्जेक्ट के वर्तमान इंस्टेंस का प्रकार प्राप्त करने के लिए, हम GetType() मेथड का उपयोग करते हैं। यह मेथड System.Object से विरासत में मिला है और ऑब्जेक्ट के रनटाइम प्रकार को दर्शाने वाला Type ऑब्जेक्ट लौटाता है। यह रिफ्लेक्शन और डिबगिंग के लिए उपयोगी है। उदाहरण 1: स्ट्रिंग का प्रकार प्र

  1. - C# में Enum.GetType(): एन्यूमरेशन का प्रकार प्राप्त करना

    GetType() मेथड किसी भी ऑब्जेक्ट का रनटाइम टाइप लौटाता है। एनम मानों पर उपयोग करके उनका एन्यूमरेशन टाइप और अंतर्निहित टाइप जान सकते हैं। उदाहरण using System; public class Demo { public static void Main() { Enum[] values = { ConsoleColor.Blue, DayOfWeek.Sunday }; Co