I have started using Ninject a dependency injection framework for .NET. I find it very easy to use and recommend that people take a look.
Something in particular that I found useful is the ability to bind open generic types.
class Program{ static void Main(string[] args) { var k = new StandardKernel(new MyModule());
var di = k.Get<Data<int>>(); di.Content = 14; Console.WriteLine(di.Content);
var ds = k.Get<Data<string>>(); ds.Content = "hello"; Console.WriteLine(ds.Content); }}
class MyModule : StandardModule{ public override void Load() { Bind(typeof(IData<>)).To(typeof(Data<>)); }}
class Data<T> : IData<T>{ public T Content { get; set; }}
interface IData<T>{ T Content { get; set; }}
Very cool!
Powered by: newtelligence dasBlog 2.2.8279.16125
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2010, Andrew Davey
E-mail