Castle-windsor'u kullanmaya başlama
Bu sayfada
Merhaba Dünya - Windsor Kalesi
class Program
{
static void Main(string[] args)
{
//Initialize a new container
WindsorContainer container = new WindsorContainer();
//Register IService with a specific implementation and supply its dependencies
container.Register(Component.For<IService>()
.ImplementedBy<SomeService>()
.DependsOn(Dependency.OnValue("dependency", "I am Castle Windsor")));
//Request the IService from the container
var service = container.Resolve<IService>();
//Will print to console: "Hello World! I am Castle Windsor
service.Foo();
}
Hizmetler:
public interface IService
{
void Foo();
}
public class SomeService : IService
{
public SomeService(string dependency)
{
_dependency = dependency;
}
public void Foo()
{
Console.WriteLine($"Hello World! {_dependency}");
}
private string _dependency;
}
Kurulum
Windsor Kalesi, NuGet aracılığıyla edinilebilir
-
“NuGet Paketlerini Yönet"i kullanın ve “kale windsor” için arama yapın
- To download for Visual Studio 2015
- To download for previous versions
-
Aşağıdakileri yürütmek için Paket Yönetici Konsolu’nu kullanın:
Install-Package Castle.Windsor
Artık projenizdeki bağımlılıkları işlemek için kullanabilirsiniz.
var container = new WindsorContainer(); // create instance of the container
container.Register(Component.For<IService>().ImplementedBy<Service>()); // register depndency
var service = container.Resolve<IService>(); // resolve with Resolve method
Daha fazla ayrıntı için resmi belgelere bakın.
Castle.Windsor
paketi Castle.Core
paketine bağlıdır ve onu da kuracaktır