寻找现有的、经过验证的解决方案来快速生成客户端JavaScript 对象模型代表一个现有的 C# 对象。我想象有一个 T4 模板或其他一些方法,但我缺乏找到它的术语。我不是在讨论序列化以获取现有 C# 对象实例的 JSON 表示形式或任何与反序列化有关的内容。我只是想为 20 多个 c# 对象生成 javascript 对象模型,并且希望能够在 c# 代码更改时立即重新生成它们。
我正在寻找的过于简单的例子:
C# code:
[Serializable()]
public class Cat
{
public string Name { get; set; }
public string Breed { get; set; }
}
要生成的 Javascript 对象模型:
function Cat()
{
this.Name = "";
this.Breed = "";
}
@Baszz
JSON 是一种基于文本的数据交换标准,这不是我想要的。我需要生成一个包含 20 多个对象的客户端 API,我可以将它们放入 JavaScript 文件中并将该脚本链接到我的各个网页。
JavaScriptSerializer 可以从 C# 对象中吐出如下所示的字符串:
{ "Name": "Hayden", "Breed": "Rabbit” }
但这与以下内容不同:
function Cat()
{
this.Name = "";
this.Breed = "";
}
- JSON 字符串不是命名函数。
- 所有元素都被引用并采用 JSON 格式,这需要手动解析字符串才能将其转换为我需要的格式。
- 你不能像下面这样新建一个 Cat 实例,因为 #1
var myCat = new Cat();
评论不多,所以我猜每个人都会手动执行此操作或根本不执行此操作。考虑创建我自己的 T4 模板来解析 C# 文件并生成我的客户端 API。
经过无数次搜索后,我找不到任何接近我要找的东西。显然,过去几年每个人都沉迷于 JSON 流行词,没有人自动生成客户端对象模型。我查看了 Codesmith 和 T4 模板。两者都没有任何内置的解析代码文件的机制。两者都要求您进行反思以获取属性及其类型,这 100% 取决于开发人员的责任。一旦您跳过编写所有反射代码的环节,这就引出了一个问题,Codesmith 或 T4 模板给您带来了什么好处?绝对没有。您介意将反射代码放在可重用的类库中并从控制台应用程序调用它,这正是我所做的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)