1 namespace Csharp接口 2 { 3 public interface IBankAccount 4 { 5 void PayIn(decimal amount); 6 bool Withdraw(decimal amount); 7 decimal Balance 8 { get; } 9 } 10 11 interface ITransferBankAccount : IBankAccount 12 { 13 bool TransferTo(IBankAccount destination, decimal amount); 14 } 15 }
以上是接口代码,下面是在类中实现接口的代码:
public class CurrentAccount:ITransferBankAccount { private decimal balance; public void PayIn(decimal amount) { balance += amount; } public bool Withdraw(decimal amount) { if (balance >= amount) { balance -= amount; return true; } Console.WriteLine("余额不足。"); return false; } public decimal Balance { get { return balance; } } public override string ToString() { return string.Format("venus账户余额:Balance = {0,6:C}", balance); } public bool TransferTo(IBankAccount destination, decimal amount) { bool result; result = Withdraw(amount); if (result) { destination.PayIn(amount); } return result; } }
其中
public bool TransferTo(IBankAccount destination, decimal amount)
方法提示编译错误会提示:可访问性不一致: 参数类型“XX”比方法“XX”的可访问性低的问题
只需要在IBankAccount接口前面加个public修饰符即可。之前未加修饰符,一直提示错误。