Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
1447 of 1492 menu
◀ ▶

BindingFlags

Флаги комбинируют через |. Public | Instance не видит закрытое и не видит статическое. Закрытое статическое ищут как NonPublic | Static.

Синтаксис

BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;

Пример

Давайте не найти закрытое поле с Public | Instance:

using System; using System.Linq; using System.Reflection; class Gate { private int Secret = 12345; } class Program { static void Main() { bool res = typeof(Gate).GetFields( BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly) .Any(item => item.Name == "Secret"); Console.WriteLine(res); } }

Результат выполнения кода:

False

Пример

Давайте найти закрытое поле с NonPublic | Instance:

using System; using System.Linq; using System.Reflection; class Gate { private int Secret = 12345; } class Program { static void Main() { bool res = typeof(Gate).GetFields( BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.DeclaredOnly) .Any(item => item.Name == "Secret"); Console.WriteLine(res); } }

Результат выполнения кода:

True

Пример

Давайте найти закрытое статическое поле:

using System; using System.Linq; using System.Reflection; class Gate { private static int Hidden = 12345; } class Program { static void Main() { bool res = typeof(Gate).GetFields( BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.DeclaredOnly) .Any(item => item.Name == "Hidden"); Console.WriteLine(res); } }

Результат выполнения кода:

True

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить