为什么这个实现方法看不到它的兄弟?

B. *_*non -3 c# interface interface-implementation

我有一个实现接口的类:

public class SQLiteHHSDBUtils : IHHSDBUtils
{

    void IHHSDBUtils.SetupDB()
    {
            . . .
            if (!TableExists("AppSettings"))

    . . .

    bool IHHSDBUtils.TableExists(string tableName)
    {
    . . .
Run Code Online (Sandbox Code Playgroud)

它找不到自己的兄弟坐在它下面(if (!TableExists()):

"TableExists"这个名称在当前上下文中不存在

它怎么样/为什么它看不到它?

Sel*_*enç 6

您有一个明确的接口实现.除非将当前实例转换为接口类型,否则无法直接访问接口方法:

if (!((IHHSDBUtils)this).TableExists("AppSettings"))
Run Code Online (Sandbox Code Playgroud)

13.4.1明确的接口成员实现

在方法调用,属性访问或索引器访问中,无法通过其完全限定名称访问显式接口成员实现.显式接口成员实现只能通过接口实例访问,并且在这种情况下仅通过其成员名称引用.