если есть список багов в Reflection.Emit в четвёртом фреймворке, которые мешают жить, буду благодарен. Есть шанс, что может быть что-то из этого удастся починить в следующей версии. Если нужно сообщить баг в Reflection.Emit (особенно ценны баги, где имеются расхождения с тем, что выдаёт C# компилятор), то сейчас самое время, а то потом будет уже поздно.
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Привет,
КО>если есть список багов в Reflection.Emit в четвёртом фреймворке, которые мешают жить, буду благодарен. Есть шанс, что может быть что-то из этого удастся починить в следующей версии. Если нужно сообщить баг в Reflection.Emit (особенно ценны баги, где имеются расхождения с тем, что выдаёт C# компилятор), то сейчас самое время, а то потом будет уже поздно.
Мы, честно говоря, пересаживаемся на CCI (и возможно еще какие-то АПИ работы с метаданными). У SR кроме багов есть ряд архитектурных недостатков. Например, он принуждает грузить все сборки на выполнение.
А баги, да были. Но сейчас их так все не вспомнишь. Один из серьезнеших — невозможность реализовать proteced virtual-методы. Из-за этого Немерл 1.0 их делает public. internal тоже вроде не прокатывало. Это дело много раз репортили на коннекнт. Но вот и ныне там.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Кирилл Осенков, Вы писали:
КО>Привет,
КО>если есть список багов в Reflection.Emit в четвёртом фреймворке, которые мешают жить, буду благодарен. Есть шанс, что может быть что-то из этого удастся починить в следующей версии. Если нужно сообщить баг в Reflection.Emit (особенно ценны баги, где имеются расхождения с тем, что выдаёт C# компилятор), то сейчас самое время, а то потом будет уже поздно.
Здравствуйте, Кирилл Осенков, Вы писали:
КО>если есть список багов в Reflection.Emit в четвёртом фреймворке, которые мешают жить, буду благодарен. Есть шанс, что может быть что-то из этого удастся починить в следующей версии. Если нужно сообщить баг в Reflection.Emit (особенно ценны баги, где имеются расхождения с тем, что выдаёт C# компилятор), то сейчас самое время, а то потом будет уже поздно.
Главное что мешает жить в SRE — это его идеология. SRE гвоздями прибивает генерируемую сборку к рантайму на котором происходила генерация. Кроме того плохо то, что нет средств обойтись без рантайм-загрузки сборок "на исполнение". Скажем невозможность прочитать значение атрибута без создания его экземпляра не позволяет читать атрибуты из сборок принадлежащих к другому рантайму.
Думаю, что это архитектурные проблемы которые почти невозможно обойти. По сему, если у тебя есть такая возможность, то попробуй продвинуть идею создания нового стндартного аналога SRE не имеющего подобных проблем. Что-то вроде CCI. Причем эту штуку нужно сделать независимой от рантайма, так чтобы любой компилятор мог прочесть любую сборку работая при этом на любой версии фрэймворка.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.