Here is a version of ComposeExportedValue that is not generic:
public static void ComposeExportedValue(this CompositionContainer container, string contractName, object exportedValue) { if (container == null) throw new ArgumentNullException("container"); if (exportedValue == null) throw new ArgumentNullException("exportedValue"); CompositionBatch batch = new CompositionBatch(); var metadata = new Dictionary<string, object> { { "ExportTypeIdentity", AttributedModelServices.GetTypeIdentity(exportedValue.GetType()) } }; batch.AddExport(new Export(contractName, metadata, () => exportedValue)); container.Compose(batch); } public static void ComposeExportedValue(this CompositionContainer container, object exportedValue) { if (container == null) throw new ArgumentNullException("container"); if (exportedValue == null) throw new ArgumentNullException("exportedValue"); ComposeExportedValue(container, AttributedModelServices.GetContractName(exportedValue.GetType(), exportedValue); }
source share