Если это ко мне вопрос, то к примеру, так
X++:
Enumerator e=new SYS_FileEnumerator(@'c:\*');
будет сообщение об ошибке.
Так же будет ошибка при передаче как параметра в метод, требующий тип Enumerator
Если преобразовывать через Object, то все пройдет на ура.
Так же можно использовать вложеную функцию для преобразования - тип параметра при компиляции не проверяется
X++:
Enumerator e;
SYS_FileEnumerator i = new SYS_FileEnumerator(@'c:\*');
Enumerator GetEnumerator(Enumerator intf)
{
;
return intf;
}
;
e = GetEnumerator(i);