public Collection <IWsdlImportExtension> LoadWsdlImportExtensions() { Collection <IWsdlImportExtension> col = new Collection <IWsdlImportExtension> (); for (int i = 0; i < WsdlImporters.Count; i++) { Type t = Type.GetType(WsdlImporters [i].Type); IWsdlImportExtension ext = (IWsdlImportExtension)Activator.CreateInstance(t); col.Add(ext); } return(col); }
/// <summary> /// Remove(s) DataContract serialization extension(s). Because we only generate XmlSerializer serializable types in /// order to support broader set of XSD constructs. /// </summary> private void RemoveDataContractSerializerExtension() { for (int i = 0; i < wsdlImporter.WsdlImportExtensions.Count; i++) { IWsdlImportExtension iext = wsdlImporter.WsdlImportExtensions[i]; DataContractSerializerMessageContractImporter dcsmci = iext as DataContractSerializerMessageContractImporter; if (dcsmci != null) { wsdlImporter.WsdlImportExtensions.RemoveAt(i); break; } } }
private static void AddStateForDataContractSerializerImport(WsdlImporter importer, MetadataImporterSerializerFormatMode formatMode, CodeCompileUnit codeCompileUnit, CodeDomProvider codeDomProvider) { XsdDataContractImporter xsdDataContractImporter = new XsdDataContractImporter(codeCompileUnit); xsdDataContractImporter.Options = CreateDataContractImportOptions(formatMode, codeDomProvider); importer.State.Add(typeof(XsdDataContractImporter), xsdDataContractImporter); for (int i = 0; i < importer.WsdlImportExtensions.Count; i++) { IWsdlImportExtension importExtension = importer.WsdlImportExtensions[i]; DataContractSerializerMessageContractImporter dataContractSerializerMessageContractImporter = importExtension as DataContractSerializerMessageContractImporter; if (dataContractSerializerMessageContractImporter != null) { dataContractSerializerMessageContractImporter.Enabled = formatMode != MetadataImporterSerializerFormatMode.XmlSerializer; } } }