COM Interop IDictionary - 如何在 C# 中检索值?

发布于 2024-07-16 04:11:21 字数 683 浏览 12 评论 0原文

使用: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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

玩套路吗 2024-07-23 04:11:21

IDictionary 在其 您通过 [ ] 访问的成员

var obj = oDictConfig[key];

IDictionary has an Item property among its members that you access via [ ].

var obj = oDictConfig[key];
夕嗳→ 2024-07-23 04:11:21

尝试这个:

dicObject["myKey"]

Try this:

dicObject["myKey"]
爱冒险 2024-07-23 04:11:21

您似乎正在使用 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文