Я пытаюсь получить доступ к свойству Task
в MS Project через System.Type.GetProperty("Finish")
, но похоже, что свойство (и другие подобные ему, например, Number1
) не доступно через отражение, если только мой код специально использует это свойство. Это настройка компилятора, которую я могу изменить? Я пишу механизм синхронизации, поэтому невозможно заранее определить, какое поле Task
может запросить клиентская система.
Таким образом, в приведенном ниже примере информация будет нулевой.
System.Type ty = typeof(Task);
System.Reflection.PropertyInfo info = ty.GetProperty("Finish");
, но с кодом ниже информация возвращается как действительный объект PropertyInfo.
Task tk = activeProject.ProjectSummaryTask;
object done = tk.Finish;
System.Type ty = typeof(Task);
System.Reflection.PropertyInfo info = ty.GetProperty("Finish");
В основном я ожидал, что GetProperty()
будет работать для всех свойств, перечисленных в API для Task
(которых довольно много).
Вот ссылка на API для свойства Finish
: https://docs.microsoft.com/en-us/dotnet/api/microsoft.office.interop.msproject.task.finish?view=office-project-server