gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 05:13:03 26 4
gpt4 key购买 nike

我想将我用 C# 编写的类公开为等效的 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 class to represent an Appraiser
function Appraiser(appraiserId, appraiserName) {
var self = this;
self.appraiserid= appraiserId;
self.appraisername= appraisername;
}

使用 JSON.NET 或其他方法是否可行?

最佳答案

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

在你的例子中使用它:

var str = Castle.Sharp2Js.JsGenerator.
GenerateJsModelFromTypeWithDescendants(typeof(Appraiser), true, "example");

输出:

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 的维护者,它还很年轻,功能还不丰富(欢迎任何建议),但它可能适合您的简单使用需求。

关于c# - 从 C# 类到等效的 JavaScript 的自动代码生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com