저는 (인터페이스로 지정된) 계약을 받아야하고,이 인터페이스를 충족시키는 형식적으로 정의 된 구체적인 클래스없이 즉석에서 인스턴스를 작성해야합니다.런타임 동안 인터페이스에서 콘크리트 유형을 생성하기위한 오픈 소스 라이브러리?
구문의 예는 다음과 같이이다 : 나는 다른 .NET 라이브러리와 프레임 워크는이 같은 행동을 (NServiceBus가 마음에 온다) 제공 본 적이
IExampleMessage message = MessageBuilder.Create<IExampleMessage>(x => {
x.PropertyA = "Test";
x.PropertyB = 5;
});
, 그리고이 있는지 궁금 해요 런타임 코드를 추상화 한 써드 파티 라이브러리. Castle DynamicProxy가 보일 장소가 될 것이라고 생각했지만, 이것은 프록시와 인터셉팅에 전적으로 집중되어 있으며 코드 생성 측면을 드러내지 않는 것으로 보입니다.
Reflection.Emit을 사용하여 클래스를 생성하는 구현을 작성할 수 있지만, 솔리드 오픈 소스 라이브러리가있는 경우이를 사용하고 싶습니다.
제안 사항?
궁금합니다. 메소드와의 인터페이스가 어떻게 지원 될까요? 이 구문을 사용하여 메소드의 사용자 정의 구현을 어떻게 지정 하시겠습니까? –
메서드가있는 인터페이스가 지원되지 않습니다. –
BLTookit에서 비슷한 코드가 보입니다. – adontz