c# вывести классы и их public и protected методы из dll
foreach (MethodInfo members in oType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.NonPublic))
{
//...
}
Имеется такое задание: "Функция должна возвращать имен а всех public и protected методов, которые содержатся в классах, находящихся в этих .NET сборках, сгруппированные по именам классов."
Этот код выводит полностью все методы, как сделать так чтобы выводились только public и protected?
Ответы (1 шт):
Автор решения: Andrei Khotko
→ Ссылка
Вам нужно отфильтровать методы по свойству IsFamily, чтобы получить только protected методы
foreach (MethodInfo members in oType.GetMethods(BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly | BindingFlags.NonPublic))
{
if (members.IsFamily)
{
// Здесь делаете то, что нужно с protected методами
}
}
Если нужны и public, и protected методы, то меняем условие:
if (members.IsFamily || members.IsPublic)
{
// Здесь делаете то, что нужно с protected и public методами
}