GetType (). GetMethods не возвращает методов при использовании BindingFlag - PullRequest
23 голосов
/ 17 февраля 2011

Итак, я пытаюсь получить все частные методы в моем классе, которые имеют определенный атрибут.Когда я делаю

this.GetType().GetMethods()

Это возвращает 18 методов, все из которых являются открытыми.Поэтому я попытался изменить его, чтобы использовать флаги привязки, такие как:

this.GetType().GetMethods(BindingFlags.NonPublic);

.Затем я начал играть, и я не могу заставить работать GetMethods(BindingFlags.x).

this.GetType().GetMethods(BindingFlags.Default);
this.GetType().GetMethods(BindingFlags.Public);

.Что я делаю не так?

1 Ответ

41 голосов
/ 17 февраля 2011

Вы должны передать BindingFlags.Instance , чтобы соответствовать методам экземпляра:

this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);

Вы также можете добавить BindingFlags.Static к флагам, если вам нужны экземпляры и статические методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...