ইন্টারফেস পদ্ধতিগুলি হল বাইরের বিশ্বের সাথে চুক্তি যা নির্দিষ্ট করে যে ক্লাসটি এই ইন্টারফেসটি বাস্তবায়ন করে কিছু নির্দিষ্ট সেট করে৷
ইন্টারফেসের সদস্যরা সর্বদা সর্বজনীন থাকে কারণ একটি ইন্টারফেসের উদ্দেশ্য হল অন্য প্রকারকে একটি ক্লাস বা কাঠামো অ্যাক্সেস করতে সক্ষম করা।
ইন্টারফেসে অ্যাক্সেস স্পেসিফায়ার থাকতে পারে যেমন সুরক্ষিত বা অভ্যন্তরীণ ইত্যাদি। এইভাবে 'বাইরের বিশ্ব'কে 'পুরো বাইরের বিশ্বের' একটি উপসেটে সীমাবদ্ধ করে।
উদাহরণ
interface IInterface{ void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
উপরের উদাহরণটি কোনো ত্রুটি ছাড়াই সঠিকভাবে কম্পাইল করবে
C# 8 এর আগে, ইন্টারফেস সদস্যরা ডিফল্টরূপে সর্বজনীন ছিল। প্রকৃতপক্ষে, আপনি যদি একটি ইন্টারফেস সদস্য (জনসাধারণ সহ) একটি অ্যাক্সেস মডিফায়ার রাখেন তবে এটি একটি কম্পাইলার ত্রুটি তৈরি করবে৷
interface IInterface{ Public void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
উপরের কোডটি c# 7.0 তে কম্পাইল টাইম এরর থ্রো করে, কিন্তু c# 8.0 তে এটি কোন ত্রুটি ছাড়াই কম্পাইল করে