/// <summary> /// Maps the service descriptor enum to the actual object. /// </summary> /// <param name="serviceDescriptorType">Service descriptor enum.</param> /// <returns>Corresponding service descriptor based on the provided enum.</returns> private static ServiceDescriptor GetServiceDescriptor( ServiceDescriptorType serviceDescriptorType) { switch (serviceDescriptorType) { case ServiceDescriptorType.AstoriaDefaultService: return(ServiceDescriptors.AstoriaDefaultService); case ServiceDescriptorType.PluggableFormatServiceDescriptor: return(ServiceDescriptors.PluggableFormatServiceDescriptor); case ServiceDescriptorType.TypeDefinitionServiceDescriptor: return(ServiceDescriptors.TypeDefinitionServiceDescriptor); case ServiceDescriptorType.ModelRefServiceDescriptor: return(ServiceDescriptors.ModelRefServiceDescriptor); case ServiceDescriptorType.OperationServiceDescriptor: return(ServiceDescriptors.OperationServiceDescriptor); case ServiceDescriptorType.TripPinServiceDescriptor: return(ServiceDescriptors.TripPinServiceDescriptor); case ServiceDescriptorType.ODataWCFServicePlusDescriptor: return(ServiceDescriptors.ODataWCFServicePlusDescriptor); case ServiceDescriptorType.ODataWCFServiceDescriptor: return(ServiceDescriptors.ODataWCFServiceDescriptor); case ServiceDescriptorType.AstoriaDefaultWithAccessRestrictions: return(ServiceDescriptors.AstoriaDefaultWithAccessRestrictions); case ServiceDescriptorType.PayloadValueConverterServiceDescriptor: return(ServiceDescriptors.PayloadValueConverterServiceDescriptor); case ServiceDescriptorType.PublicProviderEFService: return(ServiceDescriptors.PublicProviderEFService); case ServiceDescriptorType.PublicProviderHybridService: return(ServiceDescriptors.PublicProviderHybridService); case ServiceDescriptorType.ActionOverloadingService: return(ServiceDescriptors.ActionOverloadingService); case ServiceDescriptorType.OpenTypesService: return(ServiceDescriptors.OpenTypesService); case ServiceDescriptorType.UrlModifyingService: return(ServiceDescriptors.UrlModifyingService); case ServiceDescriptorType.ODataWriterService: return(ServiceDescriptors.ODataWriterService); case ServiceDescriptorType.PrimitiveKeysService: return(ServiceDescriptors.PrimitiveKeysService); case ServiceDescriptorType.KeyAsSegmentService: return(ServiceDescriptors.KeyAsSegmentService); case ServiceDescriptorType.AstoriaDefaultServiceModifiedClientTypes: return(ServiceDescriptors.AstoriaDefaultServiceModifiedClientTypes); case ServiceDescriptorType.PublicProviderReflectionService: return(ServiceDescriptors.PublicProviderReflectionService); case ServiceDescriptorType.ODataSimplifiedServiceDescriptor: return(ServiceDescriptors.ODataSimplifiedServiceDescriptor); default: throw new Exception(string.Format("Unsupported service descriptor type: {0}", serviceDescriptorType.ToString())); } }