חיפוש גנרי לפי Property
שלום.
אשמח לעזרה שלכם לגבי משהו קטן שאני מנסה לעשות באמצעות LinqExpression.
Class A
{
public int Id {get;set}
public string Name {get;set }
}
Class Help
{
public void Test<P> (IEnumerable<P> list , Expression<Func<ClassA,P>> action)
{
var intList = new List<ClassA>(){new ClassA{Id = 2 , Name = "A" },new ClassA {Id = 3 , Name = "BPB" } };
== // intList.Where( list.Contains(actionSomewho) // ==
}
}
מה שאני מנסה לבצע הוא חיפוש בתוך ה Where לפי Property שאני מקבל במתודה.
למה שאני מנסה להגיע זה נניח שיש לי 10 פריטים ב List של IntList עם Id מ 1 עד 10.
מי שקורא לפונקציה יכול להחליט האם החפש לפי ה ID או לפי ה Name , וגם הוא מספק לי List של אותו Type. אם נניח הוא רוצה לחפש על פי שם אז הוא מעביר לי List<string> ועם ה Property.Name ועל פי זה אני אבצע את החיפוש.
אני לא מצלחי לשלב את זה.
אודה לעזרה שלכם.
שלום.
אשמח לעזרה שלכם לגבי משהו קטן שאני מנסה לעשות באמצעות LinqExpression.
Class A
{
public int Id {get;set}
public string Name {get;set }
}
Class Help
{
public void Test<P> (IEnumerable<P> list , Expression<Func<ClassA,P>> action)
{
var intList = new List<ClassA>(){new ClassA{Id = 2 , Name = "A" },new ClassA {Id = 3 , Name = "BPB" } };
== // intList.Where( list.Contains(actionSomewho) // ==
}
}
מה שאני מנסה לבצע הוא חיפוש בתוך ה Where לפי Property שאני מקבל במתודה.
למה שאני מנסה להגיע זה נניח שיש לי 10 פריטים ב List של IntList עם Id מ 1 עד 10.
מי שקורא לפונקציה יכול להחליט האם החפש לפי ה ID או לפי ה Name , וגם הוא מספק לי List של אותו Type. אם נניח הוא רוצה לחפש על פי שם אז הוא מעביר לי List<string> ועם ה Property.Name ועל פי זה אני אבצע את החיפוש.
אני לא מצלחי לשלב את זה.
אודה לעזרה שלכם.