- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个用 F# 编写的 WebApi 项目。这里有一个片段:
module MyModule
open System
let MyGuid = Guid.Parse "934F0B12-D00A-491D-862D-EE745EF3C560"
let myFunction list =
list.Get(MyGuid) // --> here MyGuid has the TypeInitializationException before list.Get is called
module MyModule
open System
let MyGuid () = Guid.Parse "934F0B12-D00A-491D-862D-EE745EF3C560"
let myFunction list =
list.Get(MyGuid())
最佳答案
我不是 100% 确定这是这里的问题,但有时我在使用单元测试运行程序时看到了类似的行为。我的猜测是错误发生是因为顶级 MyGuid
变量未正确初始化并且具有默认的零值(因此,查找失败)。
在 F# 中初始化全局变量的方式很棘手——如果你将代码编译为可执行文件,这可能发生在 Main
方法。但是,如果您将代码编译为库,编译器会在库中类型的静态构造函数中插入初始化检查(以确保在您访问任何内容之前都已初始化)。
我认为如果您将代码编译为可执行文件,然后将其作为库加载,这可能会中断 - 未调用入口点,因此未初始化变量。我不确定 WebApi 究竟如何加载库,但这可能是一个问题 - 特别是如果您将 F# 代码编译为可执行文件。
您将全局变量转换为函数的解决方法可以解决此问题,因为该函数是作为方法编译的,因此您可以避免引用未初始化的值。可悲的是,我认为没有更好的解决方法。
关于exception - F# Guid.Parse TypeInitializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731396/
我正在使用 C# 语言的 opennlp 工具。我编写了以下代码: string modelpath = @"D:\models\en-sent.bin"; java.io.FileInputStre
我有一个静态类。 static class AppDirectory { public static string PACSTEMP = Path.Combine(Path.GetTempPa
我最近将 mono 更新到了最新版本 4.0.2,从那时起,Monodevelop 将无法启动。 我尝试清除与 mono 和 monodevelop 相关的所有软件包 单一完整 单运行时 单开发 我记
我找到了一段代码,可以使用 objectARX 命令在 autocad 中打开一个 dwg 文件。当我在类库项目中编写这段代码时,它可以成功运行,但是当我想将这段代码放在我的 Windows 应用程序
这个问题在这里已经有了答案: What is a NullReferenceException, and how do I fix it? (27 个答案) 关闭 7 年前。 在运行此代码时,我在第
我正在编写测试以测试 Infopath Forms 在 Form Control 中打开,我的测试方法如下 [TestMethod] public void Validate_OpenInfopath
错误日志: System.TypeInitializationException was unhandled Message="The type initializer for 'MaxDavid
来自静态构造函数的异常被包装在 TypeInitializationException 中。考虑下面的例子 using System; namespace ConsoleApp { class Pro
MS Visual Studio 2005 抛出这条消息是什么意思? "The type initializer for 'RMDC.clsVariables' threw an exception.
我正在 ASP.NET MVC 5 C# 中制作应用程序。尝试从 web.config 文件访问连接字符串元素时出现异常。 An exception of type 'System.TypeIniti
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我有一个带有多个功能区的 Excel 插件,一个功能区是设置窗口。单击它时,将显示一个自定义窗口。但是,单击时不会显示任何内容。我在日志文件中看到以下异常。是什么原因造成的,如何解决?非常感谢 201
我在公共(public)类上有一个静态方法。示例: public class MyClass { public static bool Test() { return true; } } 我从另一个
我正在尝试使用 aleagpu,但我得到了 System.TypeInitializationException。我试图用谷歌搜索问题所在,但找不到任何解决方案,所以请帮忙。该程序尽可能简单: cla
我有一个程序集(.Net 3.5 中的类库项目),它有一些引用,例如 System.Configuration 和 System.Web。我在 Web 应用程序上使用它并且运行良好。 现在,我需要引用
我有一个 VS2015 解决方案,其中包含一个服务层,该服务层公开一组 WCF 服务,以及一个使用它们的 WPF 客户端。我已经配置了 log4net 并且在服务层工作正常 我现在想在客户端使用log
我正在开发一个用 F# 编写的 WebApi 项目。这里有一个片段: module MyModule open System let MyGuid = Guid.Parse "934F0B12-D00
我在使用 NodaTime 时遇到 TypeInitializationException,但仅限于 Release 且仅限于设备。 这是堆栈跟踪: System.TypeInitialization
我正在尝试使用 OpenSsl.net,但我收到了 TypeInitializationException,这让我很困惑。设置是: 我有一个控制台应用程序,它有一个对 openssl.net 的项目引
我开发了一个使用 NLog 的 WPF 应用程序。它已部署到一些潜在客户,在其中一个中,该应用程序在一周内运行良好,但现在甚至打不开。也就是说,您双击应用程序图标,实际上什么也没有发生。甚至 AppD
我是一名优秀的程序员,十分优秀!