C#4.0 COM类库

C#4.0 COM类库,c#,class,com,C#,Class,Com,如何使类库STA与VBScript中的CreateObject一起使用?我希望确保在执行以下操作(请参见下文)时,进程应终止/处置 Set MyObject = Nothing ' Dispose 这可能吗?我已经看到,当我运行上述语句时,我的对象没有被释放,析构函数也没有运行。请告知 下面是我的类的快照(该类标记为COM visible,已注册用于COM互操作): 当我从COM将其设置为nothing(无)时,是否需要用另一个属性对其进行标记,或为其创建另一个要处理的设置?这与标记类库STA

如何使类库STA与VBScript中的CreateObject一起使用?我希望确保在执行以下操作(请参见下文)时,进程应终止/处置

Set MyObject = Nothing ' Dispose
这可能吗?我已经看到,当我运行上述语句时,我的对象没有被释放,析构函数也没有运行。请告知

下面是我的类的快照(该类标记为COM visible,已注册用于COM互操作):


当我从COM将其设置为nothing(无)时,是否需要用另一个属性对其进行标记,或为其创建另一个要处理的设置?

这与标记类库STA无关。NET不支持确定性破坏,所以当您将引用设置为Nothing时,它无法调用任何内容

NET最接近的构造是必须手动调用的
IDisposbale
接口。如下图所示:

MyObject.Dispose
Set MyObject= Nothing
注意C#对象没有解构器-它们有终结器。当对象被垃圾收集时(比不再引用对象时晚一段时间),将运行终结器

MyObject.Dispose
Set MyObject= Nothing