PDA

View Full Version : مفهوم کلمه where و default در جنریک



santaclaus1989
یک شنبه 30 بهمن 1390, 12:21 عصر
سلام من تنها چیزی که از where فهمیدم اینه که باعثه محدودیت در جنریک میشه اما دقیقا نفهمیدم چه محدودیتی ایجاد می کنه اگه میشه بیشتر توضیح بدید ممنونم؟؟؟ در ضمن default چیکار میکنه؟ آیا کاربردش فقط در جنریک هاست ممنون!!!!!!!!!!!!!!!!!:متعجب:
مثلا کد زیر یعنی چی؟؟؟


class myclass1<TItem>:IEnumerator<TItem> where TItem : IComparable


و همچنین این خط:


private TItem currentItem = default(TItem);//what is default

mrbm_2007
یک شنبه 30 بهمن 1390, 12:40 عصر
سلام
در مورد اول
یعنی اون نایپ TItem باید مشتق شده از ICompareble باشه
یعنی در هنگام استفاده از این کلاس اگر داشته باشی
var A = new myclass1<Type1>();
این تایپ یک باید مشتق شده از ICompareble باشه
در واقع این به عنوان یک شرط برای تایپ TItem هست و این باعث میشه در کد داخل کلاس هم بتونی از این فرض استفاده کنی