На c# (vs2003) написана простейшая библиотека коплексных чисел, реализованная как class library.
В ней реализована перегрузка операторов.
Например:
/// <summary> Overloaded - </summary>
public static complex operator -(complex c1, complex c2)
{
return new complex(c1.re-c2.re,c1.im-c2.im);
}
Если использовать эту библиотеку с сшарп — все отлично работает.

Но, при попытке создать для нее хмл документацию для перегруженных операторов выползли ошибки типа:
Code element page operator + is incomplete.
и так для всех операторов.
Открыв class view я с удивлением обнаружил, что половина (почему-то не все) операторов помечено красным сиволом ошибки:
В Object browser'е ошибка типа:
unable to create description или
No references available for this item
Главное что, хотелось — это использовать эту библиотеку в Delphi8. Оказалось что после перегрузки операторов Delphi перестает ведеть ВСЕ классы в библиотеке!!!

[в дельфи8 есть перегрузка операторов]
Соответственно вопрос к матстерам, как же грамотно перегружать операторы??? Хелп!!!
Здравствуйте, Vitiy, Вы писали:
V>
Но, при попытке создать для нее хмл документацию для перегруженных операторов выползли ошибки типа: Code element page operator + is incomplete.
V>и так для всех операторов.
А если не делать хмл доки? Не совсем понятно, при чем тут они.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
B>может используешь недопустимые в xml символы?
B>у меня например ругался на &
Нет, дело в том, что xml документация тут не причем — она всего лишь сразу выявила проблему.
Я загрузил один из файлов, которые выдают ошибки в Class view!!!
complex.cs
При этом копмиляция проходит без ошибок, понять не могу в чем дело.
V>Если использовать эту библиотеку с сшарп — все отлично работает.
CLSCompliantAttribute ???
Operator overloading is not in the CLS. However, the CLS provides guidelines about providing useful names (such as Add()) and setting a bit in metadata. Compilers that choose to support operator overloading should follow these guidelines but are not required to do so.
... << Rsdn@Home 1.1.4 beta 1 >>