我是HaxeDevelop的新手(但是有FlashDevelop的经验),并且基本上没有有用的文档,我无法通过Google搜索找到。我正在尝试建立一个简单的应用程序并与OpenFL和Starling一起运行。它有一个问题,所以我尝试设置一个断点。但是,它不会在断点处停止。我什至在主类代码中添加了几个断点,而且它不会停止。我什至尝试过创建一个只有一个主类和一个虚拟类的新项目,它也不会断点。我是否必须告诉它使用特殊的调试过程?我还需要安装其他软件吗?我应该只使用VS Code吗?
我安装了HaxeDevelop以及haxe和lime和OpenFL。我创建了一个新的OpenFL项目,并在Main文件中做了一些简单的工作(制作一些整数变量,打印了一些东西等),并用断点填充了它。我运行它并输出输出(但不会在任何断点处停止):
Build succeeded
Done(0)
haxelib run lime run "project.xml" neko -debug
Running process: C:\HaxeToolkit\haxe\haxelib.exe run lime run "project.xml" neko -debug
Main.hx:17: Hello World!
Main.hx:21: Did some stuff... Did it stop?
Done(0)
Run Code Online (Sandbox Code Playgroud)
我已经使用neko,html5和Flash进行了尝试,但是它们都不会在断点处停止。
如果有人知道一个好的教程,可以让Haxe在HaxeDevelop,FlashDevelop或VS Code中以调试模式运行,我将不胜感激。
我在 Haxe 中找不到有关循环之间实际性能差异的任何信息。他们提到 Vector 有一些速度优化,因为它是固定长度的。循环对象的最佳方法是什么?它是否依赖于可迭代对象(例如数组与向量与地图)?
为什么 Haxe 在 SO 上的存在如此之少?其他所有语言都回答了这个问题 5 次以上...
假设我有一些父类型的数组或向量。要将其传递给函数,我需要将其设置为某种子类型(我事先知道所有元素都必须保证是该子类型)。有方便的方法吗?现在,我只能考虑制作一个全新的阵列。
同样,它看起来也不允许我这样做:它不会在父类型的位置接受子类型的数组。是否有解决此问题的好方法?
看起来cast v
不错,但这是首选方式吗?
编辑:答案很简单,我错过了财产{get; 在我的Timestamp上设置},因此EF Core会忽略映射.但如果你有这种倾向,请继续阅读.
我正在使用C#EF Core的InMemoryDatabase为我的应用程序进行单元测试.但是,对于一组特定的测试,我有一个奇怪的错误,[1/1/0001 12:00:00 AM]
当我稍后引用它们时,某些实体上的DateTime被重置为默认值.
这是正在创建并添加到上下文的POCO对象:
public class Meter
{
[Key]
public long Id { get; set; }
public DateTime Timestamp;
public int Change { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这里是它添加到DbContext的地方:
options = new DbContextOptionsBuilder().UseInMemoryDatabase("TestDB");
using (var db = new CustomContext(options))
{
for (int i = 0; i < 10; i++)
{
var meter = new Meter {Timestamp = new DateTime(2019, 1, 20), Change = i};
db.Meters.Add(meter);
}
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
如果我在测试过程中的断点db.SaveChanges()
,我可以看到米已经添加到Meters DbSet并且它们具有正确的TimeTime用于时间戳(即[1/20/2019 12:00:00 AM] …