способ проверить наличие функции в документе и объекте окна в Script # - PullRequest
0 голосов
/ 13 октября 2011

Я пытаюсь преобразовать операторы, которые проверяют существование функций в объектах документа и окна, но я не нахожу элегантной формы в ScriptSharp:

// Javascript expected result

if (document.getElementById)



// Current ScriptSharp

if (!Script.IsNullOrUndefined(Script.Literal("document.getElementById"))

Есть ли лучший способ, о котором я не думал?

Если я сделаю что-то вроде:

if (Dictionary.GetDictionary(Document).ContainsKey("getElementById"))

Я получаю сообщение об ошибке, потому что Document является типом, а не объектом. Есть ли способ получить объект документа javascript?

Ответы [ 2 ]

2 голосов
/ 14 октября 2011

Я бы порекомендовал использовать Type.HasField.

if (Type.HasField(typeof(Document), "getElementById")) { ... }
1 голос
/ 13 октября 2011

Измените его, чтобы использовать typeof оператор

if (Dictionary.GetDictionary(typeof(Document)).ContainsKey("getElementById"))
...