1

使用: VS2008、C#

.NET プロジェクトで使用する必要がある COM dll があります。そこには、IDictionary オブジェクトを返すメソッドを持つクラスがあります。IDictionary は COM dll で定義されているため、.NET の IDictionary と同じかどうかはわかりません。

私の問題: 辞書のキーを知っていて、値を取得したい。この COM dll のドキュメントには、Classic 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

ばかげた質問で申し訳ありませんが、キーを渡して値を取得する方法がわかりません。

4

3 に答える 3

0

BizTalkServer2000のIDictionaryCOMインターフェイスを使用しているようです。

http://msdn.microsoft.com/en-us/library/ms936717.aspx

このインターフェイスには、IEnumerableを返すNewEnumプロパティ(Reflectorの相互運用機能アセンブリを確認)も必要です。このIEnumerableはキーの列挙型であり、Valueプロパティの呼び出し(もちろん適切なキーを使用)で使用して値を取得できます。

于 2009-03-28T15:06:43.930 に答える
0

IDictionaryには、 [ ] を介してアクセスするメンバーの中に Item プロパティがあります。

var obj = oDictConfig[key];
于 2009-03-28T13:30:54.940 に答える
0

これを試して:

dicObject["myKey"]
于 2009-03-28T13:31:27.060 に答える