C# 无法将带[]的索引应用于类型为';方法组' ;SinglePageApp1。得到南希
我尝试使用NancyModule创建一个类,并在URL上获取字符串,但方法“GET”告诉我: “错误CS0021无法将带[]的索引应用于类型为的表达式 “方法组” 我的代码:C# 无法将带[]的索引应用于类型为';方法组' ;SinglePageApp1。得到南希,c#,linq,get,nancy,C#,Linq,Get,Nancy,我尝试使用NancyModule创建一个类,并在URL上获取字符串,但方法“GET”告诉我: “错误CS0021无法将带[]的索引应用于类型为的表达式 “方法组” 我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Nancy; using System.Text; namespace SinglePageApp1 { public class
using System; using System.Collections.Generic; using System.Linq;
using System.Web; using Nancy; using System.Text;
namespace SinglePageApp1 {
public class BloodPresureNancy : NancyModule
{
public BloodPresureNancy()
{
// Get dasn't work
Get["/"] = _ => "Heloooo";
}
}
}
我添加了参考:Nancy,Nancy.Hosting.asp,但它不起作用。您当前使用的Nancy版本是什么?这种语法应该适用于1.x版。然而,我认为Nancy最近改变了为即将发布的2.0版注册路由的方式。如果你看看他们在github上的样本。你会发现你不再像上面那样索引到不同的动词,你实际上像引用方法一样引用它们。尝试将代码更改为 Get("/", _ => { //do work here }); 获取(“/”,\u=>{ //你在这里工作吗 });
相反,看看这是否对你有效。虽然这很可能不是正确的方法,但它确实有效:
Get("/test/{category}", parameters => { return "My category is " + (Nancy.DynamicDictionaryValue)parameters.category; });
转到将返回“我的类别是hello”请参见
具体而言:
wiki不会更新,因为2.0软件包是预发布的,直到那时所有更改都被视为挂起=)
即,允许您执行此操作的magic自定义索引器语法:
Get["/"] = ...
在Nancy 2.x版本中消失了
然而,目前所有的文档仍然是指当前的(即1.4.x版本);所以
tldr;这种语法在新版本的Nancy中已经过时了。如果您正在使用新版本的Nancy,请使用
Get(…)
,Post(…)
,等等。Get
是一种方法。你把它当作一本字典。你想用Get
做什么?这段代码的作用是什么?谢谢你,我在网上找到了演示代码之后遇到了同样的问题。试图理解其他人的代码有时是一项挑战。:)我也有同样的问题,最后我删除了那些[],而是继续使用()格式。。。这真是糟透了!!文档和他们刚刚使用的所有地方都很神奇,这就是Nancy v2.0的答案