Я бы не использовал Script.Literal. Вы получите кучу не поддерживаемого кода. Весь смысл того, что вы, скорее всего, используете Script #, - это строгая типизация и упрощение рефакторинга и сопровождения кода. Ввод магических строк в Script.Literal идет вразрез с нашим принципом, облегчающим поддержку кода. Если что-то не поддерживается в встроенных библиотеках script #, то, как другие предложили, вы можете перейти на github. У вас также есть возможность просто расширить существующий класс или создать собственный.
В вашем случае просто создайте пару новых классов Script #. Ключ заключается в использовании атрибута Imported.
[Imported]//keeps us from defining a javascript class in our emitted js library.
[ScriptName("document")]
public static class Html5Document
{
public static StyleSheet[] StyleSheets//becomes styleSheets when emitted.
{
get
{
return null;
}
set
{
}
}
}
[Imported]
public static class StyleSheet
{
//Add whatever property and methods you will need.
}
Теперь в вашем коде # кода вы можете написать:
Html5Document.StyleSheets.Length();//c#
Ваш отправленный код JavaScript будет.
document.styleSheets.length;//javascript