UnInit() абстрактный приватный Метод

abstract private UnInit ( ) : int
Результат int
        private void OnSceneChanged(object sender, EventArgs e)
        {
            if (null != usr_engine_)
            {
                usr_engine_.UnInit();
                usr_engine_ = null;
            }

            if (tabCtrl.SelectedTab == joinChannelVideoTab) // 一对一视频
            {
                usr_engine_ = new JoinChannelVideo(joinChannelVideoView.localVideoView.Handle, joinChannelVideoView.remoteVideoView.Handle);
            }
            else if (tabCtrl.SelectedTab == joinChannelAudioTab) // 一对一语音
            {
                usr_engine_ = new JoinChannelAudio();
            }
            else if (tabCtrl.SelectedTab == screenShareTab) // 摄像头 + 屏幕共享
            {
                usr_engine_ = new ScreenShare(screenShareView.localVideoView.Handle, screenShareView.remoteVideoView.Handle);
            }
            else if (tabCtrl.SelectedTab == joinMultipleChannelTab)  // 多频道
            {
                usr_engine_ = new JoinMultipleChannel(joinMultipleChannelView.localVideoView.Handle,
                                                      joinMultipleChannelView.firstChannelVideoView.Handle, joinMultipleChannelView.secondChannelVideoView.Handle);
            }
            else if (tabCtrl.SelectedTab == videoGroupTab) // 多人视频
            {
                usr_engine_ = new VideoGroup(videoGroupView.localVideoView.Handle,
                                             videoGroupView.fistUserVideoView.Handle, videoGroupView.secondUserVideoView.Handle);
            }
            else if (tabCtrl.SelectedTab == processRawDataTab) // 祼数据
            {
                usr_engine_ = new ProcessRawData(processRawDataView.localVideoView.Handle, processRawDataView.remoteVideoView.Handle);
            }
            else if (tabCtrl.SelectedTab == virtualBackgroundTab) // 虚拟背景
            {
                usr_engine_ = new VirtualBackground(virtualBackgroundView.localVideoView.Handle, virtualBackgroundView.remoteVideoView.Handle);
            }
            else
            {
                DumpStatus("todo", 0);
            }
        }