キャッスルウィンザーにファクトリを実装するためにこのコードを試しましたが、この問題のタイトルに示されているように、例外がスローされます。私はここでドキュメントの例に従っています。plzは私が間違っているところを指摘します。
using System;
using System.Windows.Forms;
using Castle.Facilities.TypedFactory;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Castle.MicroKernel.Registration;
using Castle.Windsor;
namespace AsFactoryImplementation
{
interface IDummyComponnentFactory
{
IDummyComponnent creat();
void Relese(IDummyComponnent factory);
}
interface IDummyComponnent
{
void show();
}
class DummyComponnent:IDummyComponnent
{
public void show()
{
Console.WriteLine("just testing this for better performance");
}
}
class Program:WindsorContainer
{
static void Main(string[] args)
{
var container = new WindsorContainer();
container.AddFacility<TypedFactoryFacility>();
container.Register(Component.For<IDummyComponnent>().ImplementedBy<DummyComponnent>().Named("FirstConnection").LifeStyle.Transient
,Component.For<IDummyComponnentFactory>().AsFactory());
var val = container.Resolve<IDummyComponnent>();
val.show();
var val2 = container.Resolve<IDummyComponnentFactory>();
}
}
}