当前位置:编程学习 > C#/ASP.NET >>

程序能运行,但不能输入结果

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Xuwanshan
{
    public class OverdraftEventArgs : EventArgs
    {
        public OverdraftEventArgs(int balance, int qukuan)
        {
            _balance = balance;
            _qukuan = qukuan;
        }
        public int Balance
        {
            get
            {
                return _balance;
            }
        }
        public int QuKuan
        {
            get
            {
                return _qukuan;
            }
        }
        protected int _balance;
        protected int _qukuan;
    }
    public class Account
    {
        public delegate void OverdraftEventHandler(object sender, OverdraftEventArgs e);
        public event OverdraftEventHandler OnOverdraftHandler;
        public Account(int anInitialBalance)
        {
            _balance = anInitialBalance;
        }
        public int Balance
        {
            get
            {
                return _balance;
            }
        }
        public void Deposit(int aDeposit)
        {
            if (aDeposit < 0)
                throw new ArgumentOutOfRangeException();
            _balance +=  aDeposit;
        }
        public bool Qukuan(int aDebit)
        {
            if (aDebit < 0)
                throw new ArgumentOutOfRangeException();
            if (aDebit < _balance)
            {
                _balance -=  - aDebit;
                return true;
            }
            OverdraftEventArgs args = new OverdraftEventArgs(_balance, aDebit);
            OnOverdraft(args);
            return false;
        }
        public void AddOnOverdraft(OverdraftEventHandler handler)
        {
            OnOverdraftHandler += handler;
        }
        protected void OnOverdraft(OverdraftEventArgs e)
        {
            if (OnOverdraftHandler != null)
                OnOverdraftHandler(this, e);
        }
        protected int _balance;
    }
    public class Moni
    {

        public static void Main()
        {
            Account myAccount = new Account(100);
            Account.OverdraftEventHandler handler = null;
            handler = new Account.OverdraftEventHandler(OnOverdraft);
            myAccount.AddOnOverdraft(handler);
        }
            public static void OnOverdraft(object sender, OverdraftEventArgs e)
            {
                Console.WriteLine("an overdraft occurred.");
                Console.WriteLine("the account balance is {0}.", e.Balance);
                Console.WriteLine("qu kuan shi {0}.", e.QuKuan);
            }
     }
            
    }
    


补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,