如何将 TypeScript 中的 propName: string: any 转换为 C# 模型?
我有一个类实现了一个接口,并且两者在 TypeScript 中都有这个属性
[propName: string]: any;
在 TypeScript 的类中这是什么意思?为什么 propName 周围有方括号?我如何在 C# 模型中表示这个属性?
答案#1
[propName: string] 语法意味着“任何是字符串的属性名”。它基本上是对可能出现的任何属性名的通配。你可以在 Typescript 文档中阅读相关内容。
如果你创建一个包含接口中所有其他属性的 C# 类,像 JSON.NET 这样的工具将会忽略 JSON 对象中存在但 C# 类中不存在的额外属性。如果你想确保包含接口中的所有属性,可以使用 Dictionary<string, object>,它在属性和值方面的行为有点像 Javascript 中的对象。
答案#2
那些是关键的字符串索引器。
你可以将其表示为 Dictionary<string, object> 或 Dictionary<string, dynamic>