2011-04-17 4 views
1

I ont un code exisiting en javascript:typeof dans scriptsharp

fonction setPostData (sélecteur, data) {

if (typeof (données) === 'fonction')
data = Les données();

$ (sélecteur) .setParam ({'postData': données});

}

Comment cela se traduire par scriptsharp (0,7)? esp le si instruction ... la fonction accepte le paramètre de données, qui peut être un dictionnaire ou une fonction renvoyant un dictionnaire. si les données sont une fonction, cette fonction doit être appelée en premier, renvoyant un résultat de dictionnaire ...

La division de la fonction en deux fonctions n'est pas la solution recommandée car elle est appelée à partir d'un autre javascript (non scriptsharp).

Répondre

3

Vous pouvez essayer ceci:

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

Superbe ... qui était exactement ce que je cherchais ... – rekna