DIの簡単な "Hello World"の例をいくつか参考にしています。私が理解できないことは、DIフレームワーク(autofac)内でクラス "Foo"と "Bar"を初期化する方法です。Cの自動ファンク "Hello World"アプリ - 初期化
namespace AutofacTesting
{
//these classes are intended to be used with autofac/DI
public interface IFooBar
{
void Draw();
}
public class Bar : IFooBar
{
public void Draw()
{
MessageBox.Show("Drawing something in Bar");
}
}
public class Foo : IFooBar
{
public void Draw()
{
MessageBox.Show("Drawing somthing in Foo");
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
var builder = new ContainerBuilder();
builder.RegisterType<Bar>().As<IFooBar>();
builder.RegisterType<Foo>().As<IFooBar>();
var container = builder.Build();
var taskController = container.Resolve<IFooBar>();
taskController.Draw();
int a = 1;
}
}
}