Pipeline Builder FAQ
Object Model Questions
What types are allowed to be used in contracts?
This question has been answered on our team blog here:
How do I pass collections across the boundary using contracts?
In your contracts you should use the IListContract<T> to represent a collection of valid types to pass across the boundary. For an example of this you can see this sample:
Common Pipeline Scenarios
What support does the tool have for generics in contracts?
Currently it only supports generic collections using IListContract<T>.
How do I pass arrays across the boundary using contracts?
Arrays should only be used to pass across serializable objects such as int, string, ect. If you try to pass an array of IContracts across the boundary the runtime will attempt to serialize these objects rather than marshal them by reference and will fail.
How do I pass WPF elements across the boundary?
WPF elements should be represented as INativeHandleContract when passed across the boundary. The tool will automatically call the appropriate adapters and represent them as FrameworkElement in the view. For an example of this you can see this sample:
Note: the tool does not currently support contracts that extend INativeHandleContract, only those that use them. This is under consideration for a future release.