سلام،
وقت بخیر
عزیزان آیا در linq امکان پیاده سازی Interface هست؟
مثلا قسمت Orderby رو به دلخواه پیاده کنیم.
آیا Icompare رو میشه پیاده کرد؟ چطور؟!
Printable View
سلام،
وقت بخیر
عزیزان آیا در linq امکان پیاده سازی Interface هست؟
مثلا قسمت Orderby رو به دلخواه پیاده کنیم.
آیا Icompare رو میشه پیاده کرد؟ چطور؟!
سلام
بیشتر توضیح دهید، ترجیح میدهم مطمئن شوم چه میخواهید و منظورتان چیست و سپس راهنمایی کنم.نقل قول:
عزیزان آیا در linq امکان پیاده سازی Interface هست؟
بله، کاملاً ولی کمی طولانی میشودنقل قول:
مثلا قسمت Orderby رو به دلخواه پیاده کنیم.
نمونه Where را که بسیار ساده تر بود در تاپیک دیرگری برایتان گذاشتم
(البته کدهای فوق برای عبارات linq to sql مناسب نیست، مانند آنچه در entity framework یا nhibernate استفاده میشود، شکلشان یکی است ولی کلاً بحث شان از پایه جداست)کد:public static class class1
{
public static IEnumerable<T> Where<T>(this IEnumerable<T> source, Func<T, bool> filter)
{
foreach (T item in source)
if (filter(item)) yield return item;
}
}
خوب با سایر interface ها چه فرقی دارد؟ مگر برای بقیه چه میکنید؟نقل قول:
آیا Icompare رو میشه پیاده کرد؟ چطور؟!
مثلاً کد زیر هر دو نوع جنریک و غیر جنریک واسط مد نظر شما را پیاده سازی کرده! و معیارش فقط شماری پرسنلی بوده.
کد:public class Person
{
public int Person_Id;
public string FirstName;
public string LastName;
public DateTime BirthDate;
}
public class PersonComparer
: System.Collections.IComparer
, System.Collections.Generic.IComparer<Person>
{
public int Compare(Person x, Person y)
{
//if (y == null) return x == null ? 0 : +1;
//if (x == null) return -1;
//return x.Person_Id.CompareTo(y.Person_Id);
if (x.Person_Id > y.Person_Id) return +1;
if (x.Person_Id < y.Person_Id) return -1;
return 0;
}
public int Compare(object x, object y)
{
return this.Compare((Person)x, (Person)y);
}
}