public TService GetService <TService>(TestServiceFeature feature) where TService : ProviderBase { RequireService(feature); //return GetService(feature) as TService; //workaround for bug #448560: object o = GetService(feature); object dummy = null; if (o is TService) { return((TService)o); } else { return((TService)dummy); } }
/// <summary> /// Register a new service that the test service should expose. /// </summary> /// <param name="feature">Known feature type.</param> /// <param name="serviceInstance">Instance of the feature's /// <see cref='ProviderBase' /> type.</param> public void RegisterService(TestServiceFeature feature, ProviderBase serviceInstance) { _services.Add(feature, serviceInstance); }
/// <summary> /// Require a feature or interest. /// </summary> /// <param name="feature">Feature of interest.</param> /// <returns>The service or null if one was not present.</returns> public ProviderBase RequireService(TestServiceFeature feature) { return(RequireServiceInternal(feature)); }
/// <summary> /// Retrieve a feature. /// </summary> /// <param name="feature">Feature of interest.</param> /// <returns>The feature's provider.</returns> public ProviderBase GetService(TestServiceFeature feature) { return(GetServiceInternal(feature)); }
public TService GetService <TService>(TestServiceFeature feature) where TService : ProviderBase { RequireService(feature); return(GetService(feature) as TService); }
/// <summary> /// Check if a requested feature is supported by the test service /// provider. /// </summary> /// <param name="feature">Feature of interest.</param> /// <returns>A value indicating whether the feature exists.</returns> public bool HasService(TestServiceFeature feature) { return(GetServiceInternal(feature) != null); }
/// <summary> /// Unregisters a feature. /// </summary> /// <param name="feature">Known feature type.</param> public void UnregisterService(TestServiceFeature feature) { _services.Remove(feature); }