В SCSF / CAB Могу ли я попросить основу для рабочего элемента, содержащего «этот» smartpart? - PullRequest
1 голос
/ 21 сентября 2011

Я ищу что-то вроде:

Элемент WorkItem = CompositeUI ... GiveMeTheWorkItem (this);

Код, который я унаследовал, внедряет корневой рабочий элемент во все, что кажетсянемного затянуто.

1 Ответ

2 голосов
/ 06 сентября 2012

решил, что я мог бы также попытаться ответить на этот вопрос и для вас. Исходя из моего опыта, я бы сказал, что то, что вы описываете выше, недоступно в базовой структуре CAB / SCSF.

RootWorkItem содержит коллекцию дочерних WorkItems, которые создаются вашим приложением для обработки конкретного сценария использования. Каждый WorkItem содержит коллекцию интеллектуальных частей, и вы можете проверить, содержит ли WorkItem определенный SmartPart, используя методы Get или Contains, представленные в коллекции WorkItem.SmartPart.

Хотя я согласен с вами, что внедрение RootWorkItem во все немного «затянуто», если вы используете базовый класс WorkItemController для ваших WorkItems (что вам следует), то это делается для вас в базовом классе.

В качестве возможного решения вы могли бы расширить базовый класс WorkItemController с помощью какого-либо метода FindSmartPart, который мог бы проходить через коллекцию WorkItem класса RootWorkItem и искать SmartPart с использованием вышеупомянутых методов.

Надеюсь, это поможет.

...