kun*_*jee 4 f# c#-to-f# c#-4.0 nancy f#-3.0
我试图访问南希的动态属性.在Nancy中,如果在查询中传递参数,它将作为动态属性.我该如何访问它.
关于这一点有很多讨论/问题,但每一个地方,首先是创造动态然后消费它.我怎样才能消耗已经创建的东西?
这是两个代码段
public class ParameterModule : NancyModule
{
public ParameterModule():base("/{about}")
{
this.Get["/"] = (parameters) => "Hello About" + parameters.about;
}
}
Run Code Online (Sandbox Code Playgroud)
并为F#
type ParameterModule() as this =
inherit NancyModule("/{about}")
do this.Get.["/"] <- fun parameters -> "Hello" + parameters?("about") :> obj
Run Code Online (Sandbox Code Playgroud)
我无法访问,因为对象没有该属性.
如果需要任何进一步的信息,请告诉我.
Gus*_*rra 10
F#动态运算符(?)允许您在不使用引号的情况下传递字符串参数,实现与C#dynamic类似的语法,但您需要首先为具体用例定义它,编译器只提供语法.试试这个:
let (?) (parameters:obj) param =
(parameters :?> Nancy.DynamicDictionary).[param]
type ParameterModule() as this =
inherit NancyModule("/{about}")
do this.Get.["/"] <- fun parameters -> sprintf "Hello %O" parameters?about :> obj
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
632 次 |
| 最近记录: |