在用fsharp探索Semantic Logging Block的过程中,竟发现这是一个不可能完成的任务。首先挡在面前的是EventSourceAttribute需要读取内嵌类来插入必须的Keywords到内部的字典列表中;而fsharp不支持内嵌类的功能,据说是为了避免递归定义可能造成的语义混淆。再有想到有没有什么接口可以手工添加入EventKeywords值呢?找了半天一无所获,读取内嵌类是写死的。最后想到了csharp支持的partial类功能,把工程一分为二,虽然麻烦些是不是也能用呢,非常遗憾,这个关键字并不是dotnet库支持的,仅仅只是csharp编译器造的一个语法糖。既然不能跨语言那自然没用了。全面的使用fsharp看来是没戏了。看来两种语言之间也不是无缝衔接。特此记录。
fsharp 不支持 EventSource
最新推荐文章于 2017-05-17 13:40:59 发布