1

如何访问 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);
4

0 回答 0