Я хотел бы передать свойство свойства (или метод получения / установки, если необходимо) ссылку на функцию.
Например, у меня есть массив класса с большим количеством логических флагов.
class Flags
{
public bool a;
public bool b;
public bool c;
public string name;
public Flags(bool a, bool b, bool c, string name)
{
this.a = a;
this.b = b;
this.c = c;
this.name = name;
}
}
Я могу написать метод, который возвращает все экземпляры Flags, для которых выбранный флаг является истинным
public Flags[] getAllWhereAisTrue(Flags[] array)
{
List<Flags> resultList = new List<Flags>();
for (int i = 0; i < array.Length; i++)
{
if (array[i].a == true) // for each Flags for which a is true
{ // add it to the results list
resultList.Add(array[i]);
}
}
return resultList.ToArray(); //return the results list as an array
}
Что бы я использовал, чтобы позволить мне передать свойство класса в качестве параметра,чтобы избавить меня от необходимости писать этот метод один раз для каждого логического свойства Flags (в этом примере это три раза, один раз для a, b и c)?
Я стараюсь не давать Flagsмассив логических значений в попытке сделать результирующий код легким для чтения.Я пишу библиотеку для использования сравнительно неопытными программистами.
Спасибо
(С извинениями, если это обман Передача свойства в качестве параметра в методе , яне могу точно сказать, если это та же проблема)