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.