如何访问 NCrontab 的非公共成员?
string time_A = "20,25,30 20 * * 1-5";
var schedule = NCrontab.CrontabSchedule.Parse(time_A);
我可以从调试中看到“计划”的非公共成员,
但我想获得 _day 和 _hours 的值。
- _days {*} NCrontab.CrontabField
- _daysOfWeek {1-5} NCrontab.CrontabField
- _hours {20} NCrontab.CrontabField
- _minutes {20,25,30} NCrontab.CrontabField
- _months {*} NCrontab.CrontabField _seconds null NCrontab.CrontabField
从I need to access a non-public member (Highlighted Item) of a Combo Box开始,它似乎不适用于以下行。
PropertyInfo highlightedItemProperty = schedule.GetType().GetProperties(BindingFlags.NonPublic | BindingFlags.Instance).Single(pi => pi.Name == "_days");
请指教。
更新 !!!
我现在可以修好了。
string time_A = "20,25,30 18-22 * * 1-5";
var schedule = CrontabSchedule.Parse(time_A);
var bindingFlags = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
var field = schedule.GetType().GetField("_hours", bindingFlags);
var getfield = field.GetValue(schedule);