Exemple #1
0
        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);
 }