Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected string UseTaskCommentForm()
- {
- string comment = string.Empty;
- //Получим необходимый тип по полному имени
- Type taskCommentFormType = typeof(DocsVision.BackOffice.Cards.CardTask.MainControl).
- Assembly.GetType("DocsVision.BackOffice.Cards.CardTask.TaskCommentForm");
- if (taskCommentFormType != null)
- {
- //Получим конструктор, т.к. знаем набор и тип аргументов благодаря IlSpy
- ConstructorInfo method = taskCommentFormType.GetConstructor(
- BindingFlags.Public | BindingFlags.Instance,
- null,
- new[] { typeof(ObjectContext), typeof(string), typeof(StaffEmployee), typeof(DateTime), typeof(bool) },
- null
- );
- //Вызовем конструктор, передав параметры в виде массива объектов
- object o = method.Invoke(new object[]
- { Context, comment, StaffService.GetCurrentEmployee(), DateTime.Now, false });
- var taskCommentForm = o as XtraForm;//Т.к. знаем, что TaskCommentForm наследует XtraForm
- if (taskCommentForm != null && taskCommentForm.ShowDialog() == DialogResult.OK)
- {
- var prop = taskCommentForm.GetType().GetProperty("Comment");
- if (prop != null)
- {
- //Обработаем работу с формой и "заберём" введённый комментарий
- comment = prop.GetValue(taskCommentForm, null).ToString();
- }
- }
- if (taskCommentForm != null) taskCommentForm.Dispose();//Принудительно избавимся от объекта формы
- }
- return comment;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement