在接口c#中调用方法内部的方法

本文关键字:方法 内部 调用 接口 | 更新日期: 2023-09-27 18:10:59

如何在c#中使用接口时调用同一类中的方法中的方法?当尝试通过(对象作为基类)访问时出现错误。method

interface IAccount 
{ 
    string fullName{get;set;} 
    void Balance();
}
public class User : IAccount 
{ 
  public string fullName { get; set; } 
  public int balance = 10000; 
  public User(string firstName, string lastName) 
  { 
    fullName = firstName + lastName; 
  } 
  public void IAccount.Balance() 
  { 
    Console.WriteLine("Account balance-" + this.balance); 
  } 
  public void MyBalance() 
  { 
    Console.WriteLine(" My balance"); 
    IAccount.Balance(); 
  }
}

在接口c#中调用方法内部的方法

尝试从public void Balance()public void MyBalance()中删除IAccounton

interface IAccount 
{ 
    string fullName{get;set;} 
    void Balance();
}
public class User : IAccount 
{ 
  public string fullName { get; set; } 
  public int balance = 10000; 
  public User(string firstName, string lastName) 
  { 
    fullName = firstName + lastName; 
  } 
  public void Balance() 
  { 
    Console.WriteLine("Account balance-" + this.balance); 
  } 
  public void MyBalance() 
  { 
    Console.WriteLine(" My balance"); 
    Balance(); 
  }
}
输出:

Account balance-10000
 My balance
Account balance-10000

当您创建一个名为InternfaceName.MethodName的方法时,它被称为显式接口实现
它的意思是该方法只能通过接口类型的引用来访问。

所以…如何从类中调用该方法?将this转换为接口类型!

public void MyBalance() 
{ 
    Console.WriteLine(" My balance"); 
    ((IAccount)this).Balance(); 
}