Como posso me aproximar de tipos de referência não anuláveis em C # hoje?

Eu li muitos dosnão anulável perguntas e respostas. Parece que a melhor maneira de se aproximar de tipos não anuláveis em C # (4.0) é de Jon SkeetNão anulável <> hackear.

No entanto, parece que o C ++ / CLI resolveu grande parte do problema suportando referências gerenciadas:Foo% (em vez de C ++ nativoFoo&) O compilador faz esse trabalho adicionandomodreq(IsImplicitlyDereferenced) para o argumento. Tentar chamar essa função do C # resulta em:

'<FunctionName>' is not supported by the language

Existe algo melhor entãoNão anulável <>?

Existe alguma maneira de (razoavelmente - ou seja, sem reflexão) chamar um método C ++ / CLIFoo::Method(Bar%) de c #?

[editar] Parece que atualmente não há nada melhor do queNão anulável <>... Gostaria de ter recebido alguns comentários sobre o material C ++ / CLI, pois ele já tem pelo menos uma solução parcial.

questionAnswers(2)

yourAnswerToTheQuestion