在scriptsharp中的typeof等价物

时间:2011-04-17 15:21:48

标签: script#

我在javascript中有一些现有的代码:

  

function setPostData(selector,data){

     

if(typeof(data)==='function')
  data = data();

     

$(选择器).setParam({ 'POSTDATA':数据});

     

}

这将如何转换为scriptsharp(0.7)?特别是 if 声明...... 该函数接受数据参数,该参数可以是字典或返回字典的函数。 如果data是函数,则应首先调用此函数,返回字典结果...

在两个函数中拆分函数不是推荐的解决方案,因为它是从其他javascript(非scriptsharp)调用的。

1 个答案:

答案 0 :(得分:3)

你可以试试这个:

if (Type.GetScriptType(data) == "function")
{
    Func<object> dataAsFunctor = (Func<object>)data;
    data = dataAsFunctor();
}