Получается, что когда я прохожу по всем элементам чертежа, если у выноски есть многострочный текст, я сначала нахожу этот многострочный текст:
if (en.GetType() == typeof(Leader))
{
ObjectId objectId = ((Leader)en).Annotation;
Entity acEnt = acTrans.GetObject(objectId,
OpenMode.ForRead) as Entity;
if (acEnt.GetType() == typeof(MText))
{
string str = ((MText)acEnt).Contents;
ListNotes.Add(new CNote(str, objectId, DataType.Leader, DataType.MText));
}
}
ObjectId objectId = ((Leader)en).Annotation;
а потом опять выхожу на этот многострочный текст:
if (en.GetType() == typeof(MText))
{
string str = ((MText)en).Contents;
ListNotes.Add(new CNote(str, acObjId, DataType.MText, DataType.MText));
}
Т.е, чтобы дважды не учитывать этот многострочный текст мне нужно запомнить objectId и потом проверить, что этот objectId уже был обработан.
Причем непонятно, кто придет в цикле первым MText или Leader.