C#如何访问NCrontab的非公开成员?

时间:2018-08-16 11:55:20

标签: c# cron ncron

如何访问NCrontab的非公开成员?

string time_A = "20,25,30 20 * * 1-5";
var schedule = NCrontab.CrontabSchedule.Parse(time_A);

我可以从调试中看到'schedule'的非公开成员,

但是我想获得_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);

0 个答案:

没有答案