Revision: 24557
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at March 3, 2010 17:17 by streamt
Initial Code
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Services { public interface IService { } public interface IServiceProvider<T> { T GetService<T>(); object GetService(Type serviceType); } public sealed class ServiceProvider : IServiceProvider<IService> { private Dictionary<Type, object> _services; private ServiceProvider() { _services = new Dictionary<Type, object>(); } public void RegisterService(Type type, object service) { if (!_services.ContainsKey(type)) { _services.Add(type, service); } } public T GetService<T>() where T : IService { return (T)_services[typeof(T)]; } public object GetService(Type serviceType) { return (_services.ContainsKey(serviceType)) ? _services[serviceType] : null; } } } }
Initial URL
Initial Description
Initial Title
Service Provider
Initial Tags
service
Initial Language
C#