Метод GetMethods
Без флагов в списке есть
ToString, Equals,
GetHashCode и
GetType от
object. Длину такого
списка здесь не печатаем.
Закрытый метод виден с
NonPublic.
Синтаксис
MethodInfo[] methods = type.GetMethods();
Пример
Давайте найти объявленный метод
Run:
using System;
using System.Linq;
using System.Reflection;
class Gate
{
public int Run(int value)
{
return value;
}
}
class Program
{
static void Main()
{
bool res = typeof(Gate).GetMethods(
BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)
.Any(item => item.Name == "Run");
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Пример
Давайте прочитать имя найденного метода:
using System;
using System.Linq;
using System.Reflection;
class Gate
{
public int Run(int value)
{
return value;
}
}
class Program
{
static void Main()
{
MethodInfo item = typeof(Gate).GetMethods(
BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly)
.First(method => method.Name == "Run");
string res = item.Name;
Console.WriteLine(res);
}
}
Результат выполнения кода:
"Run"
Пример
Давайте увидеть закрытый метод
Hidden:
using System;
using System.Linq;
using System.Reflection;
class Gate
{
private void Hidden()
{
}
}
class Program
{
static void Main()
{
bool res = typeof(Gate).GetMethods(
BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly)
.Any(item => item.Name == "Hidden");
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
MethodInfo,
описание метода -
BindingFlags,
флаги поиска -
GetProperties,
свойства -
GetConstructors,
конструкторы