我有一个.NET泛型字典,我想把它传递给在Jint中运行的JavaScript函数。
Jint不会将.NET字典视为JavaScript对象,因此无法像处理字典一样对待它。您可以访问对象上的.NET属性和方法,但无法访问扩展方法。
因此,虽然我可以获取Dictionary Keys的计数,但无法枚举它或调用ToArray()。
我可以使用dict[key]从Dictionary中读取值,但在这种情况下,我事先不知道键。
如何枚举键或获取.NET泛型字典中的所有条目?
我愿意在传递之前执行某些操作或将其转换为其他类型,也可以尝试在JavaScript中进行操作。但我不想单独传递键的数组。这是另一个数据结构的一部分,在每个字典上执行此操作将使其更加复杂,但如果找不到其他解决方法,我会考虑这个选项之一。
我希望避免使用动态类型。在过去,我在重度使用时遇到了泄漏内存的问题。
Jint不会将.NET字典视为JavaScript对象,因此无法像处理字典一样对待它。您可以访问对象上的.NET属性和方法,但无法访问扩展方法。
因此,虽然我可以获取Dictionary Keys的计数,但无法枚举它或调用ToArray()。
我可以使用dict[key]从Dictionary中读取值,但在这种情况下,我事先不知道键。
如何枚举键或获取.NET泛型字典中的所有条目?
我愿意在传递之前执行某些操作或将其转换为其他类型,也可以尝试在JavaScript中进行操作。但我不想单独传递键的数组。这是另一个数据结构的一部分,在每个字典上执行此操作将使其更加复杂,但如果找不到其他解决方法,我会考虑这个选项之一。
我希望避免使用动态类型。在过去,我在重度使用时遇到了泄漏内存的问题。
Dictionary<T>
的 KeyCollection 并获取所有键的列表。 - Daniel ParkToArray
。你可以尝试推出自己的版本的ObjectWrapper
,但我刚刚尝试过,这并不是容易的事情(因为一些有用的方法是私有的,所以你必须复制它们)。 - Titian Cernicova-Dragomir