He leído muchas de las non-nullable preguntas y respuestas. Parece que la mejor manera de acercarte a los tipos que no aceptan nulos en C# (4.0) es el truco de Jon Skeet NonNullable<>.¿Cómo puedo acercarme a los tipos de referencia que no admiten nulos en C# hoy?
Sin embargo, parece que C++/CLI ha resuelto gran parte del problema al admitir referencias administradas: Foo%
(en lugar de C++ nativo Foo&
). El compilador hace que esto funcione agregando modreq(IsImplicitlyDereferenced)
al argumento. Tratando de llamar a una función de este tipo de C# resultados en:
'<FunctionName>' is not supported by the language
¿Hay algo mejor que NonNullable <>?
¿Hay alguna forma de (razonablemente - es decir, sin usar la reflexión) llamar a un método de C++/CLI Foo::Method(Bar%)
desde C#?
[editar] Parece que hay actualmente nada mejor que NonNullable <> ... Me gustaría que se han conseguido algunos comentarios sobre el C++/CLI cosas, ya que ya tiene al menos un parcial de solución.
El enlace está muerto. Nuevo enlace: http://codeblog.jonskeet.uk/2008/10/06/non-nullable-reference-types/ –
Solucionado, gracias ... –