Я пишу код, который вызывает внешнюю библиотеку JavaScript Foo, но только если определен Foo. Эквивалентный код JavaScript должен выглядеть примерно так:
if (typeof(Foo) != "undefined") {
Foo.bar();
}
Я попробовал следующее в скрипте #:
- if (! Script.IsNullOrDefined (Foo)): Мой проект требует aacorlib и не может использовать sscorlib, где определено IsNullOrDefined.
- if (typeof (Foo) .ToString ()! = "Undefined"): В результате Foo.toString ()! == 'undefined', который завершится ошибкой, поскольку Foo не определен.
- if ((string) Type.InvokeMethod (null, "typeof", "Foo")! = "Undefined"): Ошибка компиляции "Имя глобального метода должно быть допустимым идентификатором" , ссылаясь на "typeof".
- if (Type.IsClass (typeof (Foo))): Сбой во время выполнения с ошибкой "Foo undefined".
- if (typeof (Foo)! = Null): Выдает «if (Foo! = Null)», которое выдает ошибку «Foo undefined».
Как должен выглядеть код Script # для генерации этого кода JavaScript?