0
송장 응용 프로그램을 개발 중입니다.클래스에 인쇄 기능을 동적으로 추가하십시오.
모듈 방식으로 접근하려면 MEF
을 사용하고 있습니다.
나는 프린터에 문서를 인쇄하는 인쇄용 모듈 (PlugIn)을 만들었습니다. 사용자가 판매를 추가 (저장)하면
이제 내 질문에
는 클래스라는 영업이된다. 인쇄 모듈이 설치되어 있는지 확인해야합니다. 그러면 해당 모듈을 사용하여이 판매를 프린터에 전달해야합니다.
나는 이걸 어떻게 얻을 수 있습니까?
내가 가진 아이디어는 내 Sales 클래스의 속성으로 [Import(typeof(IPrint))]
을 사용할 것이고이 속성에 대한 값이 있으면 프린터로 문서를 보냅니다.
이 요구 사항에 대한 더 나은 접근 방법이 있습니까?
MEF를 사용하는 경우로드 된 것인지 알 수 있습니다. 단순히 bool IsPluginLoaded를 사용하십시오. – Dilshod
내 질문은 내 응용 프로그램에 인쇄하기위한 인터페이스가 없다고 가정 해 보겠습니다. 나중에 다른 클라이언트 프로그래머가 내 고객을 고용하여 Sales 클래스의 인쇄 기능을 추가하려고합니다. 어떻게하면 판매를 저장 한 후에 그것을 주입 할 것인가? –
확인. 그런 다음 Sales.Save가 해고 될 때 해고 될 메소드 (fire_plugins)를 만들어야합니다. fire_plugins 메소드에서 Sales가 저장 될 때 플러그인을 해고해야합니다. 플러그인을 목록에 저장하십시오. –
Dilshod