在C#中使用DLR的一个例子如下:
dynamic dyn = new MyObject();
dyn.MyMethod(); //resolved at runtime
Run Code Online (Sandbox Code Playgroud)
什么是F#中的等价物?
谢谢.
我正在寻找能够利用该语言的独特功能的框架.我知道FsUnit.你会推荐别的吗?为什么?
有没有办法在F#中访问类似于C#dynamic的DLR对象(例如,DynamicObject子类实例)成员(属性和方法)?
我在C#中有这个动作方法:
public ActionResult Index() {
ViewBag.Message = "Hello";
return View();
}
Run Code Online (Sandbox Code Playgroud)
而这个观点(Index.cshtml):
<h2>@ViewBag.Message</h2>
Run Code Online (Sandbox Code Playgroud)
这会在页面上产生预期的"Hello".
我想在F#中做控制器.我试过了
type MainController() =
inherit Controller()
member x.Index() =
x.ViewBag?Message <- "Hello"
x.View()
Run Code Online (Sandbox Code Playgroud)
这会产生错误消息"未找到方法或对象构造函数'op_DynamicAssignment'".
我查看了动态操作符的一些F#代码示例,我看不到任何比几页描述和许多代码行短的内容.它们似乎对于这个属性"setter"来说过于笼统.