コンポーネントのインデクサー (別名既定のプロパティ) にアクセスできる従来の ASP で使用されるコンポーネントを C# で記述しようとしています。
例:
C# コンポーネント:
public class MyCollection {
public string this[string key] {
get { /* return the value associated with key */ }
}
public void Add(string key, string value) {
/* add a new element */
}
}
ASP コンシューマー:
Dim collection
Set collection = Server.CreateObject("MyCollection ")
Call collection.Add("key", "value")
Response.Write(collection("key")) ' should print "value"
設定する必要がある属性はありますか、インターフェイスを実装する必要がありますか、それとも何か他のことをする必要がありますか? または、これは COM Interop 経由では不可能ですか?
目的は、これらの既定のプロパティ ( などRequest.QueryString("key")) を使用してコレクションを利用する、Request などの組み込み ASP オブジェクトの一部のテスト ダブルを作成しようとすることです。代替提案は大歓迎です。
更新: フォローアップの質問をしました: VBScript から .NET コンポーネントのインデクサーに常にアクセスできるとは限らないのはなぜですか?