Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
COM互操作IDictionary-如何在C#中检索值?_C#_Interop_Idictionary - Fatal编程技术网

COM互操作IDictionary-如何在C#中检索值?

COM互操作IDictionary-如何在C#中检索值?,c#,interop,idictionary,C#,Interop,Idictionary,使用:VS2008,C# 我有一个COM dll需要在.NET项目中使用。在那里我有一个类,它有一个返回IDictionary对象的方法。IDictionary是在COM dll中定义的,因此我不确定它是否与.NET中的IDictionary相同 我的问题是:我知道字典键,我想检索这些值。文件 对于这个COM,dll提供了经典ASP格式的代码 someValue = oMyDictionary.someDictionaryKey 我的问题是:如何检索C#中特定键的值 当我在C#中创建IDict

使用:VS2008,C#

我有一个COM dll需要在.NET项目中使用。在那里我有一个类,它有一个返回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
Cast
计数
等于
方法
方法
获取多个
GetType
让我们来看看你的价值
类型
前缀
PutMultiple
托斯特林
如果这是一个愚蠢的问题,我很抱歉,但我看不出如何检索传递键的值。

在其中有一个Item属性,您可以通过[]访问该属性

var obj = oDictConfig[key];
试试这个:

dicObject["myKey"]

看起来您正在使用BizTalk Server 2000中的IDictionary COM接口:


此接口还应具有NewEnum属性(检查Reflector中的互操作程序集),该属性应向您返回IEnumerable。这个IEnumerable将是一个键的枚举,然后您可以使用它调用Value属性(当然是使用适当的键)来获取值。

这很好。谢谢只是需要把它当作一根弦。