我在javascript中有一些现有的代码:
function setPostData(selector,data){
if(typeof(data)==='function')
data = data();$(选择器).setParam({ 'POSTDATA':数据});
}
这将如何转换为scriptsharp(0.7)?特别是 if 声明...... 该函数接受数据参数,该参数可以是字典或返回字典的函数。 如果data是函数,则应首先调用此函数,返回字典结果...
在两个函数中拆分函数不是推荐的解决方案,因为它是从其他javascript(非scriptsharp)调用的。
答案 0 :(得分:3)
你可以试试这个:
if (Type.GetScriptType(data) == "function")
{
Func<object> dataAsFunctor = (Func<object>)data;
data = dataAsFunctor();
}