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

C# में Type.GetInterface() मेथड - विशिष्ट इंटरफेस प्राप्त करें

C# में Type.GetInterface() मेथड वर्तमान Type द्वारा लागू या इनहेरिट किए गए एक विशिष्ट इंटरफेस को नाम से खोजकर लौटाता है।

सिंटैक्स

दो ओवरलोड उपलब्ध हैं:

public Type GetInterface (string name);
public abstract Type GetInterface (string name, bool ignoreCase);
  • name: खोजे जाने वाले इंटरफेस का नाम
  • ignoreCase: true = केस-इनसेंसिटिव खोज, false = केस-सेंसिटिव (डिफ़ॉल्ट)

उदाहरण 1: केस-सेंसिटिव खोज (डिफ़ॉल्ट)

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        Type type = typeof(double); 
        Type myInterface = type.GetInterface("IFormattable"); 
        Console.WriteLine("Interface = " + myInterface); 
    } 
}

आउटपुट

Interface = System.IFormattable

उदाहरण 2: केस-इनसेंसिटिव खोज

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        Type type = typeof(float); 
        Type myInterface = type.GetInterface("IFormattable", true); 
        Console.WriteLine("Interface = " + myInterface); 
    } 
}

आउटपुट

Interface = System.IFormattable

उदाहरण 3: मौजूद न होने वाला इंटरफेस

using System; 

public class Demo 
{ 
    public static void Main()
    { 
        Type type = typeof(int); 
        Type iface = type.GetInterface("INonExistentInterface"); 
        
        if (iface == null)
            Console.WriteLine("इंटरफेस नहीं मिला - null लौटाया गया");
        else
            Console.WriteLine("Interface = " + iface);
    } 
}

आउटपुट

इंटरफेस नहीं मिला - null लौटाया गया

उदाहरण 4: जेनेरिक इंटरफेस खोजना

using System;
using System.Collections.Generic;

public class Demo
{
    public static void Main()
    {
        Type type = typeof(List);
        
        // जेनेरिक इंटरफेस नाम में बैकटिक (`) शामिल होता है
        Type iEnumerable = type.GetInterface("System.Collections.Generic.IEnumerable`1");
        Type iList = type.GetInterface("IList`1");
        
        Console.WriteLine("IEnumerable`1: " + (iEnumerable != null ? "मिला" : "नहीं मिला"));
        Console.WriteLine("IList`1: " + (iList != null ? "मिला" : "नहीं मिला"));
    }
}

GetInterface() बनाम GetInterfaces()

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

मुख्य बिंदु

  • इंटरफेस नहीं मिलने पर null लौटाता है (अपवाद नहीं फेंकता)
  • ignoreCase = true का उपयोग करके केस-असंवेदनशील खोज करें
  • जेनेरिक इंटरफेस के लिए नाम में बैकटिक (`) और अरिटी नंबर शामिल करें (जैसे `IEnumerable`1`)
  • बेस क्लास और इनहेरिटेंस चेन में इंटरफेस भी खोजता है
  • प्लगइन सिस्टम, डिपेंडेंसी इंजेक्शन, रनटाइम प्रकार जांच के लिए उपयोगी
  1. - C# में Type.GetDefaultMembers() मेथड

    C# में Type.GetDefaultMembers() मेथड का उपयोग वर्तमान Type के लिए परिभाषित उन सदस्यों को खोजने के लिए किया जाता है जिनका DefaultMemberAttribute सेट है। सिंटैक्स public virtual System.Reflection.MemberInfo[] GetDefaultMembers (); आइए Type.GetDefaultMembers() मेथड को लागू करने का एक उदाहरण देखते हैं

  1. - C# में Type.GetArrayRank() मेथड

    C# में Type.GetArrayRank() मेथड एक सरणी में आयामों की संख्या प्राप्त करता है। सिंटैक्स public virtual int GetArrayRank (); आइए Type.GetArrayRank() मेथड को लागू करने का एक उदाहरण देखते हैं - उदाहरण using System; public class Demo { public static void Main(string[] args) { Type type =

  1. - C# में Type.Equals() मेथड

    C# में Type.Equals() मेथड यह निर्धारित करता है कि वर्तमान Type का अंतर्निहित सिस्टम प्रकार निर्दिष्ट ऑब्जेक्ट या Type के अंतर्निहित सिस्टम प्रकार के समान है या नहीं। सिंटैक्स public virtual bool Equals (Type o); public override bool Equals (object o); ऊपर, पैरामीटर वे ऑब्जेक्ट हैं जिनके अंतर्निहित