【问题标题】:Control how web essential generates d.ts files from .cs files控制 web essential 如何从 .cs 文件生成 d.ts 文件
【发布时间】:2014-08-06 04:39:40
【问题描述】:

例如,“Guid”类型被归类为“any”类型。

Uri 类型生成为复杂类型:

{
    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;
}

但实际上它被序列化为字符串。

所以...是否有可能以某种方式告诉 WebEssentials,如何序列化属性类型, 全局:

Guid -> string
Uri -> string

或按属性进行本地属性:

[TypescriptType(typeof(string))]
Guid Id {get; set;};

当然,全局按项目或解决方案更好。

【问题讨论】:

  • 我不认为TypescriptType 来自网络要领...

标签: c# json serialization typescript web-essentials


【解决方案1】:

Web Essentials 似乎无法做到这一点(还没有?)。我建议你两件事:

  • 使用TypeLITE(和我们一样)。
  • 分叉。查看IntellisenseParser.cs 并找到GetClassName
    • (如果您对此有任何进展,请告诉我。;))

【讨论】:

  • 只是一个想法:在IntellisenseParaser.cs这里有一本字典_knownPrimitiveTypes。也许如果我们在其中添加guid 并将其指向类型string?将guids 设置为string 至少比any 略有改进
猜你喜欢
  • 2017-12-11
  • 1970-01-01
  • 2019-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-23
  • 1970-01-01
相关资源
最近更新 更多