Wie man Eigenschaften in einer .NET DLL für COM sichtbar macht (Methoden funktionieren)

Gelöst, siehe Kommentare!

Ich habe eine einfache .NET DLL in c # geschrieben.

n asp-classic oder VB.NET kann ich das Objekt erstellen und problemlos eine Member-Funktion in der DLL aufrufen. Aber, und das ist mein Stolperstein, ich kann nicht auf Klasseneigenschaften zugreifen.

Hier ist der Beispielcode:

[Guid("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"),
    ClassInterface(ClassInterfaceType.None),
    ComSourceInterfaces(typeof(IComEvents))]
public class Com : IComInterface
{
    public string MyProperty{ get; set; }   // <-- NOT ACCESSIBLE
    public void MyFunction()                // <-- ACCESSIBLE
    {
    }
}

Hier ist das serverseitige Skript:

Set com = Server.CreateObject("ns.Com")    // WORKS
com.MyProperty = "abc"                    // GIVES ERROR
com.MyFunction                            // WORKS

Ich erhalte folgende Fehlermeldung:

Microsoft VBScript-Laufzeitfehler "800a01b6 '

Object unterstützt diese Eigenschaft oder Methode nicht: MyProperty

Kann mir jemand sagen, warum ich die Funktion 'MyFunciton' aufrufen kann, aber wenn ich den Eigenschaftswert setzen möchte, erhalte ich den obigen Fehler?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage