Knockout.js ScriptSharp(脚本#)和Knockout

Knockout.js ScriptSharp(脚本#)和Knockout,knockout.js,script#,Knockout.js,Script#,我的脚本夏普动作将被重命名,因此它们的前缀为下划线。虽然代码在浏览器中运行得非常好,但要记住在客户端添加下划线是很烦人的。这是故意的吗?有没有办法改变它 以下是一个示例: 我复制了-Knockout JS的教程示例“单击计数器” 脚本夏普视图模型(C代码): 公共密封类点击CounterViewModel { 公众可观察的点击次数; //相依可观测现在称为计算,但是向后兼容的。 public DependentToServable多次单击按钮; //警告-这将转换为_registerClick客

我的脚本夏普动作将被重命名,因此它们的前缀为下划线。虽然代码在浏览器中运行得非常好,但要记住在客户端添加下划线是很烦人的。这是故意的吗?有没有办法改变它

以下是一个示例: 我复制了-Knockout JS的教程示例“单击计数器”

脚本夏普视图模型(C代码):

公共密封类点击CounterViewModel
{
公众可观察的点击次数;
//相依可观测现在称为计算,但是向后兼容的。
public DependentToServable多次单击按钮;
//警告-这将转换为_registerClick客户端-不确定原因。
动作寄存器点击;
行动:点击;
公共ClickCounterViewModel()
{
点击次数=敲除。可观察(0);
registerClick=delegate(){
this.numberOfClicks.SetValue(this.numberOfClicks.GetValue()+1);
};
resetClicks=delegate(){this.numberOfClicks.SetValue(0);};
DependentTobServableOptions=新的DependentTobServableOptions();
options.Model=this;
options.GetValueFunction=新函数(委托{
返回此.numberOfClicks.GetValue()>=3;
});
hasClickedTooManyTimes=Knockout.DependentToServable(选项);
}
}
当此代码转换为javascript时,操作将以下划线作为前缀。这是预期的行为吗

生成的代码(javascript)-仅显示生成的注释以说明问题:

Knockout2Example2.ClickCounterViewModel=函数Knockout2Example2\u ClickCounterViewModel(){
/// 
/// 
/// 
/// 
/// 
/// 
/// 
/// 
///此脚本是使用脚本#v0.7.4.0生成的
oops

我没有将我的两个操作registerClick和resetClicks公开。
将它们公开会解决这个问题,并将它们呈现给js,不带下划线。

下划线是一种常见的JavaScript约定,意思是“这是私有的”.Scriptsharp提供以下划线开头的非公共成员、属性和方法名称。将您的操作公开,以便在外部JavaScript中方便地引用它们