使用breezejs为typecript创建类型实体,或者替换VS的扩展以从c#class创建接口?

时间:2013-04-13 09:29:59

标签: typescript breeze

我正在使用bcript中的breeze / knockout创建一个演示项目。

当我拥有manager.createEntity("Project")时,我得到了一个类型为breeze.Entity的对象。这有entityAspectenityType

在我的情况下,我无法找到是否有可能让它返回正确的类型,项目。

另一个解决方案,如果有人可以帮助创建它,那就是在VS中为打字稿中的c#类提供设计时支持。

然后我就可以做manager.createEntity(“Project”);我相信这将是在这种情况下获取实体类型的最佳方式。任何意见?谁可以创建我这样的扩展?或告诉我如何。

2 个答案:

答案 0 :(得分:1)

我可以为您提供“替代VS的扩展以从c#类创建接口吗?”的解决方案。

我还没有VS扩展程序,但是我创建了一个小工具,可以从.NET-Domainclasses创建Knockout / Backbone / TypeScript-models /接口。

如果你使用DataAnnotations,你将获得免费的淘汰/骨干的默认值和评估:)

http://jsmapper.codeplex.com

答案 1 :(得分:0)

要回答“我还没有找到是否有可能让它返回正确的类型,在我的情况下进行项目。”

目前唯一的解决方案是类型断言(Typescript替代类型转换),即。 :

var myProject:Project = <Project>manager.createEntity("Project");

尽管有一个新功能正在使定义此类定义变得非常简单。它在常量上称为 重载 http://blogs.msdn.com/b/typescript/archive/2013/03/25/working-on-typescript-0-9-generics-overload-on-constants-and-compiler-performance.aspx