Veröffentlichung der Indexer- / Standardeigenschaft über COM Interop

Ich versuche, eine Komponente in C # zu schreiben, die von klassischem ASP verwendet wird und mir den Zugriff auf den Indexer der Komponente ermöglicht (auch als Standardeigenschaft bezeichnet).

Beispielsweise
C # -Komponente:

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-Verbraucher:

Dim collection
Set collection = Server.CreateObject("MyCollection ")
Call collection.Add("key", "value")
Response.Write(collection("key")) ' should print "value"

Gibt es ein Attribut, das ich festlegen muss, muss ich eine Schnittstelle implementieren oder muss ich etwas anderes tun? Oder geht das nicht über COM Interop?

Der Zweck ist, dass ich versuche, Test-Doubles für einige der integrierten ASP-Objekte wie z. B. Request zu erstellen, die Auflistungen mit diesen Standardeigenschaften verwenden (z. B.Request.QueryString("key")). Alternativvorschläge sind willkommen.

Update: Ich habe eine Folgefrage gestellt: Warum ist der Indexer meiner .NET-Komponente nicht immer über VBScript zugänglich?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage