gpt4 book ai didi

Typelite:为什么 Dictionary 映射到 KeyValuePair 而不是 any 或 [index:string]:any

转载 作者:行者123 更新时间:2023-12-03 04:20:39 35 4
gpt4 key购买 nike

我有课,

public class Instance : IResource
{
public Dictionary<string, object> Value { get; set; }

它被映射到

interface Instance {
Value: System.Collections.Generic.KeyValuePair[];

interface KeyValuePair {
Key: any;
Value: any;
}

我本来就预料到

interface Instance {
Value: any;

interface Instance {
Value: {[index:string]:any};

如何更改世代?

另外,如何跳过生成中的 namespace ?

最佳答案

一个快速但肮脏的解决方法是使用正则表达式来改变输出:

使用

<#= Regex.Replace( ts.Generate(TsGeneratorOutput.Properties)
, @":\s*System\.Collections\.Generic\.KeyValuePair\<(?<k>[^\,]+),(?<v>[^\,]+)\>\[\];"
, m=>": {[key: "+m.Groups["k"].Value+"]: "+m.Groups["v"].Value+"};"
, RegexOptions.Multiline)
#>

转换字段

    myField: System.Collections.Generic.KeyValuePair<string,OtherClass>[];

    myField: {[key: string]: OtherClass};

关于Typelite:为什么 Dictionary<string, object> 映射到 KeyValuePair 而不是 any 或 [index:string]:any,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21350501/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com