Called by the host to register the specified extension manager, validate that all required extensions are present, and to initialize the collection of extensions to be used.
Assembly: System.Activities (in System.Activities.dll)
Extensions are keyed by type, and a host provided extension will always be used if provided. Extensions added through Add use the runtime type of the object as the type key. Extensions providers added through Add use the decared type T of the Func<T> as the type key. Extension providers contributed by activities through the various *ActivityMetadata.AddDefaultExtensionProvider methods are dropped if a host extension exists for the declared type or if there is a broader type provided through AddDefaultExtensionProvider (ex. if Func<StreamWriter> is provided and Func<TextWriter> is provided, only Func<StreamWriter> will be kept). If an extension does not exist in the collection that is required by an activity (expressed by calling *ActivityMetadata.RequireExtension) a ValidationException is thrown.