F#中的记录实例在C#中为null

前端之家收集整理的这篇文章主要介绍了F#中的记录实例在C#中为null前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在为学校做作业,我们用monogame制作一个小游戏,还有在F#工作的额外挑战.游戏逻辑是完全不可变的F#,并且通过使用monogame中的Game类,入口点在C#中.然而,我遇到了一个关于F#中记录类型的奇怪问题.在逻辑(F#)中,我有以下几点:
...
module Vectors =
    type Vector = {
        x : double
        y : double
    }

    let Zero : Vector = {x=0.0; y=0.0}
...

在C#中我有一些访问Zero的代码

...
player.vector = Vectors.Zero;
...

奇怪的是,当我尝试使用player.vector时,它会变为null.调试时,Vector.Zero也为null.我四处寻找一些解决方案,这可能是一些微不足道的错误,但我似乎无法找到它.

解决方法

当您将F#项目构建为exe,但将其用作库时,偶尔会有一些初始化代码无法调用.

这可以通过将项目更改为构建为库来解决.

原文链接:https://www.f2er.com/csharp/101118.html

猜你在找的C#相关文章