如何转换propName:string:在C#模型的打字稿中是否存在?

时间:2019-05-21 11:31:59

标签: c# typescript

我有一个实现接口的类,并且都在打字稿中具有此属性

[propName: string]: any;

这在打字稿中的类中是什么意思? 为什么在propName周围有括号? 我该如何在我的C#模型中表示这种特性?

2 个答案:

答案 0 :(得分:1)

[propName: string]语法的意思是“任何字符串形式的属性名称”。对于可能出现的任何属性名称,它基本上都是万能的。您可以在Typescript Docs中了解它。

如果您使C#类具有接口的所有其他属性,则JSON.NET之类的工具将忽略JSON对象中存在的,C#类中不存在的任何其他属性。如果要确保在接口中包含所有属性,则可以使用Dictionary<string, object>,就属性和值而言,其行为有点类似于Javascript中的对象。

答案 1 :(得分:1)

这些是关键字符串索引器。

您可以将其表示为Dictionary<string, object>Dictionary<string, dynamic>