javascript - 从 c# 对象自动生成 javascript 对象模型

标签 javascript object model

寻找现有的、经过验证的解决方案以快速生成客户端 javascript 对象模型 表示现有的 c# 对象。我想那里有一个 T4 模板或其他一些方法,但我缺乏找到它的术语。我不是在谈论序列化以获取现有 c# 对象实例的 JSON 表示或与反序列化有关的任何事情。我只想为 20 多个 c# 对象生成 javascript 对象模型,并且我希望能够在 c# 代码更改时立即重新生成它们。

我正在寻找的过度简化示例:

C#代码:

[Serializable()] 
public class Cat 
{ 
    public string Name { get; set; }
    public string Breed { get; set; }
} 

要生成的 Javascript 对象模型:
function Cat() 
{ 
    this.Name = ""; 
    this.Breed = ""; 
} 

@巴斯兹

JSON 是一种基于文本的数据交换标准,这不是我想要的。我需要生成一个包含 20 多个对象的客户端 API,我可以将它们放入一个 javascript 文件中,并将该脚本链接到我的各种网页。

JavaScriptSerializer 可以从 c# 对象中吐出如下字符串:
{ "Name": "Hayden", "Breed": "Rabbit” } 

但这与以下内容不同:
function Cat()  
{  
    this.Name = "";  
    this.Breed = "";  
}  
  • JSON 字符串不是命名函数。
  • 所有元素都被引用并采用 JSON 格式,这需要手动解析字符串才能将其转换为我需要的格式。
  • 由于#1
  • ,您不能像下面这样新建 Cat 实例

    var myCat = new Cat();

    没有很多评论,所以我猜每个人都手动或根本不这样做。着眼于创建我自己的 T4 模板来解析 c# 文件并生成我的客户端 API。

    最佳答案

    经过无数次搜索后,我找不到任何接近我正在寻找的东西。显然,过去几年每个人都被 JSON 流行语所吸引,没有人会自动生成客户端对象模型。我查看了 Codesmith 和 T4 模板。也没有任何用于解析代码文件的内置机制。两者都需要您进行反射(reflection)以获取属性及其类型,这 100% 落在开发人员的肩上。一旦您跳过编写所有反射代码的障碍,这引出了一个问题,Codesmith 或 T4 模板给您带来什么好处?绝对没有..你也介意将你的反射代码放在一个可重用的类库中,然后从控制台应用程序中调用它,这正是我所做的。

    关于javascript - 从 c# 对象自动生成 javascript 对象模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8028664/

    相关文章:

    javascript - 如何动态地在 React JSX 元素上设置属性?

    使用 AJAX 返回的 PHP session ID 变量

    javascript - 在 Angular 中设计模型

    ruby-on-rails - Rails .create() 与 controller#create

    javascript - 对话框中的长度错误

    javascript - 从javascript中的google登录获取所有用户的联系人列表(包括电话号码)

    javascript - 停止 filter(),这可能吗?

    ios - 如何使用 swift 从解析类中查询/检索随机对象?

    C# 将Json字符串转为对象

    c# - Entity Framework 代码优先 : how to add more props on model and update database?