第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在派生嵌套類中調(diào)用父函數(shù)

在派生嵌套類中調(diào)用父函數(shù)

C#
阿晨1998 2023-07-22 16:31:36
如何在類中調(diào)用類Run()中的函數(shù)?ControllerI2Cclass Program{    public class Controller    {        public void Run()        {        }    }    public class ChildController : Controller    {    }    public class LowLevelController : ChildController    {        private class I2C        {            public I2C()            {            }            // Want to call Controller.Run() from this level        }        public void Computate()        {            base.Run();        }    }}
查看完整描述

2 回答

?
呼如林

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超3個(gè)贊

選項(xiàng)1


實(shí)現(xiàn)此目的的一種方法是在 I2C 中公開(kāi)接受操作的方法。這將允許 I2C 實(shí)例(它是LowLevelController 中定義的私有類)調(diào)用 Controller.Run。例如,


 private class I2C

 {

     public I2C()

     {

     }


     public void RunBase(Action execute)

     {

        execute.Invoke();

     }

 }

現(xiàn)在您可以將 RunBase 執(zhí)行為


 public void Computate()

 {

    var i2c = new I2C();

    i2c.RunBase(()=>base.Run());

 }

選項(xiàng)2


另一種選擇是將 LowLevelController 的實(shí)例傳遞給 I2C 并調(diào)用 Controller.Run 方法


例子,


public class LowLevelController : ChildController

{

    private class I2C

    {

       private LowLevelController _parent;

       public I2C(LowLevelController parent)

       {

          _parent = parent;

       }


       public void RunBase()

       {

          _parent.Run();

       }

    }


     public void Computate()

     {

         var i2c = new I2C(this);

         i2c.RunBase();

     }

}


查看完整回答
反對(duì) 回復(fù) 2023-07-22
?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊

我想你想要的很簡(jiǎn)單:


public class LowLevelController : ChildController {


    private class I2C {


        public I2C(LowLevelController outerInstance) {

            OuterInstance = outerInstance;

        }


        private LowLevelController OuterInstance { get; }


        private void DoSomething() {

            OuterInstance.Run();

        }


    }


}


查看完整回答
反對(duì) 回復(fù) 2023-07-22
  • 2 回答
  • 0 關(guān)注
  • 166 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)