首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从C#类到JavaScript等效类的自动代码生成

从C#类到JavaScript等效类的自动代码生成
EN

Stack Overflow用户
提问于 2013-02-13 04:44:50
回答 5查看 17.4K关注 0票数 6

我想将我用C#编写的一个类公开为javascript的等价物。

例如,我有一个这样的类:

代码语言:javascript
复制
// C# class to represent an Appriaser
public class Appraiser
{
    public Appraiser(appraiserId, appraiserName)
    {
         AppraiserId = appraiserId;
         AppraiserName = appraiserName;
    }
    public int AppraiserId { get; set; }
    public string AppraiserName { get; set; }
}

我希望能够在javascript中自动生成这个类的一个版本

代码语言:javascript
复制
// javascript class to represent an Appraiser
function Appraiser(appraiserId, appraiserName) {
    var self = this;
    self.appraiserid= appraiserId;
    self.appraisername= appraisername;
}

这可以用JSON.NET或其他方法实现吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-01-22 22:25:02

我知道这是个老生常谈的问题,但现在有几个选择。

有一个用于Visual Studio的Class to Knockout Generator,它将为您创建淘汰型视图模型。此外,如果你开始使用Typescript -在一个类上使用Web Essentials的"Generate Typescript“选项会让你很容易做到这一点。

票数 1
EN

Stack Overflow用户

发布于 2015-10-23 10:10:54

你可以试试sharp2Js。您向它传递一个类型,它会将其转换为C#字符串。如果希望将其输出到js文件,请将其与T4模板一起使用。对于示例中的类,它会生成:

在您的示例中使用它:

代码语言:javascript
复制
var str = Castle.Sharp2Js.JsGenerator.
              GenerateJsModelFromTypeWithDescendants(typeof(Appraiser), true, "example");

输出:

代码语言:javascript
复制
example = {};

example.Appraiser = function (cons, overrideObj) {
    if (!overrideObj) { overrideObj = { }; }
    if (!cons) { cons = { }; }
    var i, length;
    this.appraiserId = cons.appraiserId;
    this.appraiserName = cons.appraiserName;


    this.$merge = function (mergeObj) {
        if (!mergeObj) { mergeObj = { }; }
        this.appraiserId = mergeObj.appraiserId;
        this.appraiserName = mergeObj.appraiserName;
    }
}

注意:我是sharp2Js的维护者,它很年轻,所以功能还不是很丰富(欢迎提出任何建议),但它可能适合您的简单使用需求。

票数 3
EN

Stack Overflow用户

发布于 2013-02-13 06:17:39

你可以试试JSIL。它将允许您从.Net IL转换到JavaScript。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14841465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档