假设我有一个服务器端POCO类,如下所示:
public class Book
{
public string Isbn { get; set; }
public string Title { get; set; }
public int NumPages { get; set; }
}
TypeLite会将其转换如下:
interface Book {
Isbn: string;
Title: string;
NumPages: string;
}
我想做的是能够装饰NumPages属性服务器端,以便它是这样的:
public class Book
{
public string Isbn { get; set; }
public string Title { get; set; }
[TsObservable] // doesn't need to be called this - an attribute seems like a nice way to do it though
public int NumPages { get; set; }
}
...然后客户端版本将自动对接口进行如下更改。
interface Book {
Isbn: string;
Title: string;
NumPages: KnockoutObservable<string>;
}
这可以通过TypeLite实现吗?理想情况下,我希望能够有选择地在Observable类中创建每个属性,但是在推动时,我猜这个类中的所有属性都是可观察的。
我似乎无法弄清楚如何修改.tt文件以实现它。