COM Interop IDictionary - 如何在 C# 中检索值?
使用:VS2008,C#
我有一个需要在 .NET 项目中使用的 COM dll。 在那里我有一个类,它的方法返回一个 IDictionary 对象。 IDictionary 是在 COM dll 中定义的,所以我不确定它是否与 .NET 中的 IDictionary 相同。
我的问题:我知道字典键并且我想检索值。 文档 对于这个 COM dll,给出了经典 ASP 中的代码,如
someValue = oMyDictionary.someDictionaryKey
我的问题:如何检索 C# 中特定键的值?
当我像这样在 C# 中创建 IDictionary 对象时:
IDictionary oDictConfig = oAppConfig.GetOptionsDictionary("");
VS2008 认为这个字典对象(接口)具有以下方法和属性:
Cast<>
Count
Equals
GetEnumerator
GetHashCode
GetMultiple
GetType
let_Value
OfType<>
Prefix
PutMultiple
ToString
抱歉,如果这是一个愚蠢的问题,但我不知道如何检索传递键的值。
using: VS2008, C#
I have a COM dll I need to use in a .NET project. In there I have a class with a method that returns an IDictionary object. IDictionary is defined in the COM dll so I'm not sure if it's the same as IDictionary in .NET.
My problem: I know the dictionary keys and I want to retrieve the values. The documentation
for this COM dll gives code in Classic ASP like
someValue = oMyDictionary.someDictionaryKey
My Question: How do I retrieve the values for the specific keys in C#?
When I create the IDictionary object in C# like this:
IDictionary oDictConfig = oAppConfig.GetOptionsDictionary("");
VS2008 reckons this dictionary object (interface) has the following methods and properties:
Cast<>
Count
Equals
GetEnumerator
GetHashCode
GetMultiple
GetType
let_Value
OfType<>
Prefix
PutMultiple
ToString
Sorry if this is a silly question, but I can't see how to retrieve a value passing a key.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
IDictionary 在其 您通过 [ ] 访问的成员。
IDictionary has an Item property among its members that you access via [ ].
尝试这个:
Try this:
您似乎正在使用 BizTalk Server 2000 中的 IDictionary COM 接口:
http://msdn.microsoft.com/en-us/library/ms936717.aspx" rel="nofollow noreferrer">http:// /msdn.microsoft.com/en-us/library/ms936717.aspx
此接口还应该有一个 NewEnum 属性(检查 Reflector 中的互操作程序集),该属性应该向您返回一个 IEnumerable 。 此 IEnumerable 将是键的枚举,然后您可以将其与对 Value 属性的调用一起使用(当然使用适当的键)来获取值。
It looks like you are using the IDictionary COM interface from BizTalk Server 2000:
http://msdn.microsoft.com/en-us/library/ms936717.aspx
This interface should also have a NewEnum property (check the interop assembly in Reflector) which should return an IEnumerable to you. This IEnumerable will be an enumeration of the keys, which you can then use with calls to the Value property (with the appropriate key of course) to get the values.