![]() |
#15 |
Участник
|
Код метода RunBase::getDescription
X++: /*MAN Returns a helptext of the class with the specified classId. */ client server static HelpTxt getHelpText(classId _classNum) { ExecutePermission casPerm = new ExecutePermission(); SysDictClass classObj; str staticName = identifierstr(helpText); // *** if (! _classNum) return ''; classObj = new SysDictClass(_classNum); if (classObj.hasStaticMethod(staticName)) { casPerm.assert(); //BP Deviation Documented return classObj.callStatic(staticName); } else return ''; } X++: /*MAN Returns a helptext of the class with the specified classId. */ client server static HelpTxt getHelpText(classId _classNum) { ExecutePermission casPerm = new ExecutePermission(); SysDictClass classObj; str staticName = identifierstr(helpText); // *** if (! _classNum) return ''; classObj = new SysDictClass(_classNum); if (classObj.hasStaticMethod(staticName)) { casPerm.assert(); //BP Deviation Documented return classObj.callStatic(staticName); } else return ''; } А если таких методов будет сотня. Копировать все код сотню раз? Не лучше ли написать одну функцию наподобие такой: X++: client server static AnyType getProperty(classId _classNum, SysMethodName _methodName) { ExecutePermission casPerm = new ExecutePermission(); SysDictClass classObj; if (! _classNum) return ''; classObj = new SysDictClass(_classNum); if (classObj.hasStaticMethod(_methodName)) { casPerm.assert(); //BP Deviation Documented return classObj.callStatic(_methodName); } else return ''; } X++: RunBase::getProperty(classidget(this), identifierstr(helpText)); |
|