是否有可能使Visual Studio中显示运营商提示?
下图演示了一个功能的提示线索,但它并不适用于运营商合作。
运营商通常具有简单类型的规格等'T -> 'T -> 'T
但这样的提示可以是自定义的是有用的。
是否有可能使Visual Studio中显示运营商提示?
下图演示了一个功能的提示线索,但它并不适用于运营商合作。
运营商通常具有简单类型的规格等'T -> 'T -> 'T
但这样的提示可以是自定义的是有用的。
继丹尼尔的建议,我张贴,我一直在使用自己的一种变通方法 。
解决方法是仅部分有帮助的,我仍然在寻找更好的想法。
let (!><) a = ()
let z1 = op_BangGreaterLess 5
这个代码是完全有效的,因为操作者的表达产生与一个编译器生成的名称的功能。 见这个MSDN文章 ,一节“重载运算符的名称”运营商名称的完整列表。
好消息是, op_BangGreaterLess
支持智能感知提示,它也支持“转到定义”的IDE(F12)命令,指向原来的运算符声明。
坏消息是,智能感知不允许全运营商的名称(Ctrl + 空格 键 )快速进入,所以你必须手动输入完整的名称。
这恐怕是不可能的(甚至是在Visual Studio 2012,我没有得到提示运营商)。
我想这可能实现,但正如你所说,运营商通常有简单类型。 当使用运营商定制,这些应该是可能足够简单,使人们可以不看他们的类型(或相关的XML文档)中使用它们。 否则,它可能是最好使用一个命名函数。
这就是说,如果你使用F#互动,那么你可以很容易地用它来探索运营商类型:
> (!><);;
val it : ('a -> unit) = <fun:clo@2>
如果我不能使用F#互动,我通常会定义一个简单的伪码元获得智能感知:
let dummy () = (!><)
请注意,我说unit
参数定义一个函数,避免值限制错误。