COM互操作IDictionary-如何在C#中检索值?
使用:VS2008,C# 我有一个COM dll需要在.NET项目中使用。在那里我有一个类,它有一个返回IDictionary对象的方法。IDictionary是在COM dll中定义的,因此我不确定它是否与.NET中的IDictionary相同 我的问题是:我知道字典键,我想检索这些值。文件 对于这个COM,dll提供了经典ASP格式的代码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
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属性(当然是使用适当的键)来获取值。这很好。谢谢只是需要把它当作一根弦。