2016-06-30 4 views
2

일부 계산을 실행하고 값을 다른 필드에 쓰는 메소드가있는 3 개의 클래스가 있으며이 메소드는 메소드가 실행되는 필드에 클래스 이름을 씁니다.필드 값에 따라 동적 클래스를 실행하십시오.

잘 작동합니다.

최근 메소드를 실행 한 클래스에서 메소드를 다시 실행하는 버튼을 만들었습니다. 예를 들어

:

Class1 RunMethod 
Class2 RunMethod 
Class3 RunMethod 

클릭하면 지금 작업 버튼의 방법을 만드는 오전,하지만 난 어떻게 원래부터 실행 한 클래스에서 특정 메소드를 실행하는 단서가 없다. 클래스 이름은 필드에 있습니다.

내가 이것을 SysDictClass으로 수행 할 수 있다고 생각하지만 시작하는 방법을 알지 못합니다.이 방법으로 어떻게 시작할 수 있습니까?

답변

4

아이디어가 필요합니다. 저는 2009 년 AX에 썼습니다 만, AX 2012에서도 잘 작동 할 것입니다.

public static client void SysDictClassJob() 
{ 
    ClassId  classId; 
    Object  obj; 
    SysDictClass sysDictClass; 
    ; 

    // Create instance (if you are going to call a member method) 
    classId = className2Id('SomeClass'); 
    obj = classFactory.createClass(classId); 

    // Invoke member method 
    sysDictClass = new SysDictClass(classId); 
    sysDictClass.callObject('yourMemberMethod', obj); 

    // Invoke static method 
    sysDictClass.callStatic('yourStaticMethod'); 
} 
관련 문제