Using System;
Using System. Collections. Generic;
Using System. LINQ;
Using System. text;
Using Autofac. Builder;
Using Autofac. configuration;
Using Autofac;
/// By rhythmk
Namespace Autofacapp
{
Class Program
{
Static Void Main ( String [] ARGs)
{
VaR Builder = New Containerbuilder ();
Builder. registertype <dbmanage> ();
Builder. registertype <sqldb> (). As <idatabase> ();
// Using (VAR Container = builder. Build (containerbuildoptions. Default ))
// {
VaR Container = builder. Build (containerbuildoptions. Default );
VaR Manage = container. Resolve <dbmanage> ();
Manage. Select ();
Manage. Update ();
// }
Console. readkey ();
}
}
Public Interface Idatabase
{
Void Update ();
Void Select ();
}
Public Class Sqldb: idatabase
{
# Region Idatabase Member
Public Void Update ()
{
Console. writeline ( " Sqldb update " );
}
Public Void Select ()
{
Console. writeline ( " Sqldb select " );
}
# Endregion
}
Public Class Mysqldb: idatabase
{
# Region Idatabase Member
Public Void Update ()
{
Console. writeline ( " Mysqldb update " );
}
Public Void Select ()
{
Console. writeline ( " Mysqldb select " );
}
# Endregion
}
Public Class Dbmanage
{
Private Idatabase _ database;
Public Dbmanage (idatabase m_database)
{
This . _ Database = m_database;
}
Public Void Update ()
{
This . _ Database. Update ();
}
Public Void Select ()
{
This . _ Database. Select ();
}
}
}