我有一个实现接口的类,并且都在打字稿中具有此属性
[propName: string]: any;
这在打字稿中的类中是什么意思? 为什么在propName周围有括号? 我该如何在我的C#模型中表示这种特性?
答案 0 :(得分:1)
[propName: string]
语法的意思是“任何字符串形式的属性名称”。对于可能出现的任何属性名称,它基本上都是万能的。您可以在Typescript Docs中了解它。
如果您使C#类具有接口的所有其他属性,则JSON.NET之类的工具将忽略JSON对象中存在的,C#类中不存在的任何其他属性。如果要确保在接口中包含所有属性,则可以使用Dictionary<string, object>
,就属性和值而言,其行为有点类似于Javascript中的对象。
答案 1 :(得分:1)
这些是关键字符串索引器。
您可以将其表示为Dictionary<string, object>
或Dictionary<string, dynamic>