इंटरफेस मेथड्स बाहरी दुनिया के साथ एक अनुबंध है जो निर्दिष्ट करता है कि इस इंटरफेस को लागू करने वाली क्लास चीजों का एक निश्चित सेट करती है।
इंटरफेस सदस्य हमेशा सार्वजनिक होते हैं क्योंकि इंटरफेस का उद्देश्य अन्य प्रकारों को क्लास या स्ट्रक्चर तक पहुंचने में सक्षम बनाना है।
इंटरफेस में protected या internal जैसे एक्सेस स्पेसिफायर्स हो सकते हैं। इस प्रकार 'बाहरी दुनिया' को 'पूरी बाहरी दुनिया' के एक उपसमूह तक सीमित करना।
उदाहरण
interface IInterface{
void Save();
}
class Program{
static void Main(){
Console.ReadLine();
}
}
उपरोक्त उदाहरण बिना किसी त्रुटि के ठीक से संकलित होगा।
C# 8 से पहले, इंटरफेस सदस्य डिफ़ॉल्ट रूप से सार्वजनिक थे। वास्तव में, यदि आप इंटरफेस सदस्य पर एक्सेस मॉडिफायर डालते हैं (public सहित), तो यह कंपाइलर त्रुटि उत्पन्न करेगा।
interface IInterface{
public void Save();
}
class Program{
static void Main(){
Console.ReadLine();
}
}
उपरोक्त कोड C# 7.0 में कंपाइल-टाइम त्रुटि फेंकता है, लेकिन C# 8.0 में बिना किसी त्रुटि के संकलित होता है।