Отлично!
А как вы определяете какую из функций вызвать в случае, если не знаете заранее тип?
Что-то мне использование System.Type с получением наименования:
X++:
retType = _sysObj.GetType();
retTypeName = retType.get_Name();
if (retTypeName == '...')
не сильно нравится. Может есть что-то более "технологичное"?