在接口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();
}
}
尝试从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();
}