小编act*_*ult的帖子

Mono上奇怪的WeakReference行为

使用Mono 2.11.3(SGen)以及稳定的2.10.8版本,使用WeakReference的测试代码失败了.在像这样的简单代码中

object obj = new object();
WeakReference wr = new WeakReference(obj);

Assert.IsTrue(wr.IsAlive);

obj = null;
GC.Collect();

Assert.IsFalse(wr.IsAlive);
Run Code Online (Sandbox Code Playgroud)

第二个断言将失败.添加GC.WaitForPendingFinalizers没有帮助.这是Mono或我头脑中的错误吗?谢谢

c# mono weak-references

14
推荐指数
2
解决办法
1052
查看次数

F#异常过滤器

文章http://blogs.msdn.com/b/dotnet/archive/2009/08/25/the-good-and-the-bad-of-exception-filters.aspx表明F#本身支持异常过滤器(例如,在C#中没有语法.异常过滤器适当的catch块之前运行,如果它们返回true,则catch块将执行.我想F#会用这样的东西做这个

with
    | ex when filter(ex) -> printfn "Caught"
Run Code Online (Sandbox Code Playgroud)

但是,对我来说,它编译为通常的"catch [mscorlib] System.Object",调用catch块中的过滤器函数,并且生成的MSIL中不存在"过滤器"部分.所以问题是,F#真的支持这种结构吗?

谢谢

clr f# exception

8
推荐指数
1
解决办法
247
查看次数

在Servicestack.OrmLite中映射字段类型

假设我在DB中有一个字段,可能的值为'Y','N',NULL.我想在我的DTO中使用布尔属性('N',NULL - > false,'Y' - > true)来表示它.在查询/更新/插入期间,我可以以某种方式插入OrmLite来自行进行转换(两个方向,ofc)吗?谢谢

c# oracle servicestack ormlite-servicestack

2
推荐指数
1
解决办法
781
查看次数