【发布时间】:2012-04-21 09:45:08
【问题描述】:
扩展方法:
Response.AsJson
Response.AsXml
从构造函数调用它时可以正常工作,例如:
public class TweetModule : NancyModule
{
public TweetModule()
: base("/")
{
Post["/{action}.json/"] = parameters =>
{
return Reponse.Asjson(new {output:parameters.action}); // OK
}
}
}
但是当我从这样的函数中调用它时:
public class TweetModule : NancyModule
{
public TweetModule()
: base("/")
{
Post["/{action}.{format}/"] = parameters =>
{
return GetResponse( parameters.action,parameters.format); // Error
}
}
public Response GetResponse(string action,string format)
{
if (format == "json")
return Response.AsJson(new {output:action}); // error
else
return Response.AsXml(new {output:action}); // error
}
}
我得到了这个例外:
f__AnonymousType0`1[System.String] 无法序列化,因为它 没有无参数的构造函数。
有什么建议吗?
【问题讨论】:
标签: asp.net c#-4.0 extension-methods anonymous-types nancy