Эквивалент typeof в scriptsharp - PullRequest
       12

Эквивалент typeof в scriptsharp

1 голос
/ 17 апреля 2011

У меня есть некоторый существующий код в javascript:

функция setPostData (селектор, данные) {

if (typeof (data) === 'function')
данные = данные ();

$ (селектор) .setParam ({ 'PostData': данные});

}

как бы это перевести на scriptsharp (0.7)? особенно оператор if ... функция принимает параметр данных, который может быть словарем или функцией, возвращающей словарь. если data - функция, эта функция должна вызываться первой, возвращая результат словаря ...

разделение функции на две функции не является рекомендуемым решением, поскольку она вызывается из другого javascript (не scriptsharp).

1 Ответ

3 голосов
/ 18 апреля 2011

Вы можете попробовать это:

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