void CacheProxy () { // called from unmanaged code after .ctor is invoked // we need .ctor to create unmanaged object and thus IUnknown property value AddProxy (com_object.IUnknown, this); }