c# - Kontroller hvordan Web Essential genererer d.ts-filer fra .cs-filer
For eksempel genereres "Guid"-typer som "any"-type.
Uri-typen genereres som en kompleks type:
{
AbsolutePath: string;
AbsoluteUri: string;
Authority: string;
DnsSafeHost: string;
Fragment: string;
Host: string;
HostNameType: any;
IsAbsoluteUri: boolean;
IsDefaultPort: boolean;
IsFile: boolean;
IsLoopback: boolean;
IsUnc: boolean;
LocalPath: string;
OriginalString: string;
PathAndQuery: string;
Port: number;
Query: string;
Scheme: string;
Segments: string[];
UserEscaped: boolean;
UserInfo: string;
}
men i virkeligheten blir det serialisert som en streng.
Så... Er det på en eller annen måte mulig å fortelle WebEssentials hvordan man skal serialisere propriety-typer, enten globalt:
Guid -> string
Uri -> string
eller lokalt eiendom for eiendom:
[TypescriptType(typeof(string))]
Guid Id {get; set;};
Selvfølgelig er det bedre globalt etter prosjekt eller løsning.
Svar #1
Det ser ut til at Web Essentials ikke kan gjøre dette (ennå?). Jeg vil foreslå to ting for deg:
- Bruk TypeLITE (som vi gjorde).
Fork det. Se i IntellisenseParser.cs og finn
GetClassName.- (Gi meg beskjed hvis du har noen fremgang med dette. ;))