加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 04:31:45 所属栏目:百科 来源:网络整理
导读:我正在为学校做作业,我们用monogame制作一个小游戏,还有在F#工作的额外挑战.游戏逻辑是完全不可变的F#,并且通过使用monogame中的Game类,入口点在C#中.然而,我遇到了一个关于F#中记录类型的奇怪问题.在逻辑(F#)中,我有以下几点: ...module Vectors = type Ve
我正在为学校做作业,我们用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,但将其用作库时,偶尔会有一些初始化代码无法调用.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读