Я прочитал много вопросов non-nullable. Похоже, что лучший способ приблизиться к непустым типам в С# (4.0) - это Jon Skeet NonNullable < > hack.
Однако, похоже, что С++/CLI решил большую часть проблемы, поддерживая управляемые ссылки: Foo%
(вместо собственного С++ Foo&
). Компилятор делает эту работу, добавляя modreq(IsImplicitlyDereferenced)
к аргументу. Попытка вызвать такую функцию из С# приводит к:
'<FunctionName>' is not supported by the language
Есть ли что-нибудь лучше, чем NonNullable < > ?
Есть ли способ (разумно - т.е. без использования отражения) вызывать метод С++/CLI Foo::Method(Bar%)
из С#?
[edit] Кажется, что в настоящее время ничего лучше, чем NonNullable < > ... Мне бы хотелось, чтобы я получил некоторые комментарии к материалам С++/CLI, поскольку у него уже есть хотя бы частичное решение.