У меня были такие же проблемы с передачей Map во внешнюю обработку.
В итоге не найдя подходящего решения (не ясно какой тип ставить в стороннем коде так что бы аксапта поняла). В итоге пришлось делать запил. В Вашем случае, например так:
X++:
COM service = new COM("4E4CC63D-84CB-4c7a-AA97-85126917E2DA");
result = service.test(enum2int(ABC::A));
info(strfmt("%1", result));
В стороннем методе обрабатывать каждое значение enum:
X++:
public enum ABC { None = 0, A, B, C }
public string test(int en)
{
string ret;
if (en == (int)ABC.A)
ret ="A";
if (en == (int)ABC.B)
ret = "B";
if (en == (int)ABC.C)
ret = "C";
if (en == (int)ABC.None)
ret = "None";
return ret;
}
Еще могу посоветовать
эту статью. Немного не так как Вам нужно, но вероятно поможет.