我正在尝试使用 Autofac 并注册以下类,该类接收参数之一作为可选参数(或者更确切地说为 null)。我的课程是:
class BaseSpanRecord : ISpanRecord
{
public BaseSpanRecord(RecordType recordType, List<SpanRecordAttribute> properties)
{
RecordType = recordType;
Properties = properties;
}
}
这里RecordType是一个枚举,而SpanRecordAttribute是一个只有属性的类,我不想为其创建任何接口。
构造函数中RecordType和Properties是接口ISpanRecord的两个公共属性, 这个类可以在程序的不同地方通过以下方式实例化:
ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, null);
或者
ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, recordAttributeList);
我应该如何尝试在 Autofac 容器中注册它以便它可以处理上述两种情况?或者我应该改变BaseSpanRecord类的编写方式以使其注册更容易?