Autofac을 사용하려고 시도하고 있으며 매개 변수 중 하나를 선택적 매개 변수 (또는 null)로받는 아래 클래스를 등록하려고합니다. 내 클래스는 다음과 같습니다선택적 매개 변수를 autofac에 전달하십시오.
class BaseSpanRecord : ISpanRecord
{
public BaseSpanRecord(RecordType recordType, List<SpanRecordAttribute> properties)
{
RecordType = recordType;
Properties = properties;
}
}
여기 RECORDTYPE는 열거하고 SpanRecordAttribute입니다 내가 어떤 인터페이스를 생성하고 싶지 않은 전용 속성을 가진 클래스이다. 생성자에서
RECORDTYPE 및 속성이 ISpanRecord 이 클래스는 프로그램의 다른 장소에서 다음과 같은 방법으로 인스턴스화 할 수있는 인터페이스의 두 공용 속성은 다음과 같습니다ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, null);
또는
ISpanRecord spanFileRecord = new BaseSpanRecord(recordType, recordAttributeList);
어떻게해야합니까? 위의 두 가지 경우를 처리 할 수 있도록 utofac 컨테이너? 아니면 변경해야합니까? BaseSpanRecord 클래스가 등록하기 쉽도록 작성 되었습니까?
나는 사용하여 시도 다음 'builder.RegisterType() UsingConstructor (대해서 typeof (RECORDTYPE), 대해서 typeof (목록 )) () .InstancePerDependency()으로,' 하지만.. 첫 번째 경우에는 작동하지 않습니다. –
Darsin