Есть список List<MethodInfo>
с записанными в него методами. Надо выполнить поиск по списку(по свойству MethodInfo.Name), чтобы потом получить нужный MethodInfo и запустить его через Invoke;
var consoleType = typeof(Console);
var methods = new List<MethodInfo>(consoleType.GetMethods());
string wantedMethodName = "WriteLine";
1) Можно сделать простой перебор списка и забрать первый элемент, удовлетворяющий условию:
MethodInfo findedMethod;
foreach (var method in methods)
{
if (method.Name == wantedMethodName)
{
findedMethod = method;
break;
}
}
2) Или воспользоваться методами LINQ, что сделает код проще и симпатичнее:
var findedMethod = methods.FirstOrDefault(m => m.Name == wantedMethodName);
или
var findedMethod = methods.Find(m => m.Name == wantedMethodName);
Об отличиях FirstOrDefault
и Find
можете прочесть здесь.
private MethodInfo FindMethodInfo(string name)
{
return MethodInfoList?.Where(r => r.Name == name).FirstOrDefault();
}
Поправил, как подсказал @teanЫЧ
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Поиск в интернетах не дал результатов, у многих есть такая же проблемаИспользовать вместо TextBlock TextBox, не могу, нужны Run'ы
- вот в таком случае получается, что кнопка находится по центру а не справа
Имеется список всех контрагентов Contractors, имеется список партнеров Partners, второй список есть подмножество первого, оба свойства доступны в VM
Как узнать какие порты открыты на моем девайсе, программным методом C#