C#-এ ইন্টারফেস মেম্বার ডিক্লেয়ার করে, বাস্তবায়ন না। ক্লাস বা স্ট্রাক্ট ইন্টারফেস ইমপ্লিমেন্ট করে সেসব মেম্বার বাস্তবায়ন করে। কিছু গুরুত্বপূর্ণ জেনেরিক ইন্টারফেস:
- IEnumerable<T> - সমস্ত জেনেরিক কালেকশনের বেস ইন্টারফেস।
GetEnumerator()মেথড থাকে। - IList<T> - অ্যারে এবং লিস্ট টাইপ দ্বারা ইমপ্লিমেন্টেড। ইনডেক্স-ভিত্তিক অ্যাক্সেস দেয়।
- IDictionary<TKey, TValue> - কী-মান জোড়ার কালেকশন।
IEnumerable শুধুমাত্র পঠন-যোগ্য অ্যাক্সেস দেয় এবং foreach লুপের সাথে কাজ করে। নিচে IEnumerable এবং IEnumerator ইমপ্লিমেন্টেশনের উদাহরণ দেওয়া হলো:
উদাহরণ
class Demo : IEnumerable, IEnumerator
{
// IEnumerable মেথড
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
public object Current
{
get { throw new NotImplementedException(); }
}
// IEnumerator মেথড
public bool MoveNext()
{
throw new NotImplementedException();
}
// IEnumerator মেথড
public void Reset()
{
throw new NotImplementedException();
}
}
IEnumerator-এ MoveNext(), Reset() মেথড এবং Current প্রোপার্টি থাকে। এটি কালেকশনের মাধ্যমে ইটারেশন নিয়ন্ত্রণ করে।