我有一种特定于域的语言,我想注册可以在其中实例化的对象。
例如,可以执行httprequest的类。
[IoC("HttpRequest", typeof(DslScriptObject), IoCAttribute.IoCLifestyleType.Transient)]
internal class WebRequestDslObj : DslScriptObject
{
[DslNew]
public WebRequestDslObj() : this(null, null)
{}
[DslNew]
public WebRequestDslObj([DslParam("uri")]string uristring, [DslOptionalParam("contenttype")] string contenttype) : this(uristring, null)
{}
}
然后我有一个类,它将dsl数据类型的类型映射到c#数据类型(如果这有什么区别的话,我将它们作为IList),如果我不使用Castle来实例化对象,这个类就可以工作了。
但是当我想使用IoC自动注册各种类型时,我就不知道如何处理构造函数了。我试着考虑设置一个
CustomComponentActivator
,但我被困在找不到任何好的例子或文档。这是一条可行的道路吗(我能绕过空参数的有趣特例吗?)
有人举个例子说明我可以从哪里开始吗?