Да, согласен, ассемблер в C# — вещь абсолютно бессмысленная. А всё, что делалось мной в рамках этого проекта, — делалось просто потому, что это было интересно. Ни малейшей пользы или смысла не планировалось изначально.
Да, действительно. По-хорошему надо бы InvokeAsm обернуть в метод, запрещающий сборку мусора так же, как это сделано в SafeInvokeAsm.
Честно говоря, такое решение мне кажется не совсем элегантным, так что если кто-либо сможет предложить иной вариант борьбы с GC — с удовольствием почитаю.
Потому что с Mono знаком исключительно понаслышке и про такую возможность услышал сейчас впервые. К тому же всё это делалось не ради практической пользы, а, скорее, из интереса. Интереса же в использовании готового функционала немного…
Так красиво, к сожалению, не получится - в знаменателе-то "шме" в квадрате!..
Впрочем, я не ожидал, что кто-то может всерьёз воспринять это как попытку улучшить язык.
InvokeAsm
обернуть в метод, запрещающий сборку мусора так же, как это сделано вSafeInvokeAsm
.Честно говоря, такое решение мне кажется не совсем элегантным, так что если кто-либо сможет предложить иной вариант борьбы с GC — с удовольствием почитаю.