Spring.net 매개 변수가있는 객체 생성
-
22-07-2019 - |
문제
디커플링을 위해 구성 파일을 사용하여 spring.net을 통해 만들어야하는 두 개의 매개 변수가있는 객체가 있습니다.
public Object(string param1, string param2) { ... }
두 매개 변수는 사용자 이름과 암호로 전달되는 사용자 상호 작용을 기반으로 동적으로 전달되므로 이러한 값은 구성 파일에 하드 코딩 할 수 없습니다. 따라서 다음은 작동하지 않습니다.
<object name="WinFormApplicationWorkflow" type="COM.Us.Workflow.ApplicationWorkflow, "COM.Us.Workflow ">
<!-- this will NOT work -->
<constructor-arg index="0" value="TESTUSER"></constructor-arg>
<constructor-arg index="1" value="TESTPW"></constructor-arg>
<!-- / -->
<property name="NetworkWorkflow" ref="NetworkWorkflow" />
<property name="ExceptionLogger" ref="ExceptionLogger" />
</object>
Spring.net을 사용하여 어떻게 할 수 있습니까?
ContextRegister.GetContext().GetObject("WinFormApplicationWorkflow");
그러나 여전히 필요한 두 매개 변수를 내 워크 플로 클래스로 전달합니다.
해결책
과부하 메소드 GetObject (String, Object [])를 사용할 수 있습니다. spring.objects.factory.iobjectfactory 객체 생성을 위해 동적 값을 전달하는 인터페이스.
string userName = "Test";
string password = "Test";
object[] arguments = new object[] { userName, password };
ContextRegister.GetContext().GetObject("WinFormApplicationWorkflow", arguments);
제휴하지 않습니다 StackOverflow