我正在使用Enhanced.typings流利的配置API(多种方法)将C#DTO映射到打字稿接口,从而生成一个文件。
当前我正在获取(正确)输出,例如
export interface ICourseDto
{
start: Date;
facultyMeetingRoom: IRoomDto;
courseParticipants: ICourseParticipantDto[];
...
}
export interface IRoomDto ...
理想情况下,我想:
import breeze from 'breeze-client'
添加到生成的打字稿文件的开头-
export interface ICourseDto
{
start: Date;
facultyMeetingRoom: IRoomDto & breeze.Entity;
courseParticipants: (ICourseParticipantDto & breeze.Entity)[];
...
使用fluent.typings流畅的配置是否有可能,如果可以,我需要什么配置代码来实现它?
答案 0 :(得分:1)
实现所需目标的最简单方法是(其中s是ConfigurationBuilder):
s.Global(a => a.UseModules());
s.AddImport("breeze", "breeze-client");
var mySpecialTypes = typeof(IBreezeEntity).Assembly.GetTypes()
.Where(d => typeof(IBreezeEntity).IsAssignableFrom(d));
foreach (var type in mySpecialTypes)
{
s.Substitute(type, new RtSimpleTypeName($"I{type.Name} & breeze.Entity"));
}
增强。键入也保留继承。考虑从通用类型/接口派生您的实体,然后也将其导出。