如何在自己的类中调用接口方法?

Pri*_*ief 2 c# methods interface

我的MySqlConnection类实现了IDatabaseConnection接口.在update方法中,我想调用connect()但是找不到这个方法,我该怎么称呼它?

class MySqlConnection : IDatabaseConnection
{
    void IDatabaseConnection.connect()
    {
        ...
    }

    void IDatabaseConnection.update()
    {         
        connect(); // here
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*que 7

显然你正在使用显式接口实现,除了你的语法不正确(你不能在其上指定访问修饰符).

要调用该方法,只需转换thisIDatabaseConnection:

void IDatabase.update(){

    ((IDatabase)this).connect();
 ...
}
Run Code Online (Sandbox Code Playgroud)

  • @abatishchev:在`as`和常规演员之间选择的原因不是表演.这是他们的行为.`as`会在失败时产生`null`,而常规的强制转换会抛出异常. (3认同)
  • @abatishchev:一个毫无意义且无益的例外.问题是,如果演员有时失败,请使用`as`并检查null.如果演员阵容不可能失败,请使用常规演员.如果它不能失败,但确实如此,那么爆炸,那就是异常,而不是控制流.捕获NullReferenceException或InvalidCastException是错误的. (2认同)