Tag: 不可为空

今天如何在C#中接近不可为空的引用类型?

我读过很多不可空的问题和答案。 看起来在C#(4.0)中接近不可空类型的最佳方法是Jon Skeet的NonNullable hack。 但是,似乎C ++ / CLI通过支持托管引用解决了大部分问题: Foo% (而不是本机C ++ Foo& )。 编译器通过向参数添加modreq(IsImplicitlyDereferenced)来完成此工作。 试图从C#调用这样的函数会导致: ” is not supported by the language 有没有比NonNullable 更好的东西? 有没有办法(合理地 – 即,没有使用reflectionFoo::Method(Bar%)从C#调用C ++ / CLI方法Foo::Method(Bar%) ? [编辑]似乎目前没有什么比NonNullable 更好…我希望我会对C ++ / CLI的东西有一些评论,因为它已经至少有一个部分解决方案。