我正在尝试使用Autofac并注册下面的类,它接收参数之一作为可选参数(或者更确切地说是null)。 我的类别是:将可选参数传递给autofac
class BaseSpanRecord : ISpanRecord
{
public BaseSpanRecord(RecordType recordType, List<SpanRecordAttribute> properties)
{
RecordType = recordType;
Properties = properties;
}
}
这里记录类型是一个枚举和SpanRecordAttribute是只为我不希望创建任何接口属性的类。
在构造记录类型和属性是接口ISpanRecord 这个类可以在程序中的不同地方通过以下方式进行实例化的两个公共属性:
ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, null);
或
ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, recordAttributeList);
我该如何尝试在A utofac容器,以便它可以处理上述两种情况? 或者我应该改变方式BaseSpanRecord类已被写入使其注册更容易?
我尝试使用以下: 'builder.RegisterType()UsingConstructor(typeof运算(记录类型), typeof运算(列表))作为().InstancePerDependency();' 但随后。它不适用于第一种情况。 –
Darsin