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"这个名称在当前上下文中不存在
它怎么样/为什么它看不到它?
您有一个明确的接口实现.除非将当前实例转换为接口类型,否则无法直接访问接口方法:
if (!((IHHSDBUtils)this).TableExists("AppSettings"))
Run Code Online (Sandbox Code Playgroud)
在方法调用,属性访问或索引器访问中,无法通过其完全限定名称访问显式接口成员实现.显式接口成员实现只能通过接口实例访问,并且在这种情况下仅通过其成员名称引用.