• C# 高级编程 里面的委托例子。


    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace ConsoleApplication1

    {

        public class Currency

        {

            public uint Dollars;

            public ushort Cents;

            public Currency()

            {

            }

            public Currency(uint dollars,ushort cents)

            {

                this.Dollars = dollars;

                this.Cents = cents;

            }

            public override string ToString()

            {

                return string.Format("{0:c}.{1,-2:00}", Dollars, Cents);

            }

            public static string GetCurrencyUint()

            {

                return "人民币";

            }

            public static explicit operator Currency(float value)

            {

                checked

                {

                    uint dollars = (uint)value;

                    ushort cents =(ushort) ((value - dollars)*100);

                    return new Currency(dollars, cents);

                }

            }

            public static implicit operator float(Currency value)

            {

                return value.Dollars + value.Cents / 100.0f;

            }

            public static implicit operator Currency(uint value)

            {

                return new Currency(value, 0);

            }

            public static implicit operator uint(Currency value)

            {

                return value.Dollars;

            }

        }

        delegate string GetAString();

        

        class Program

        {

            static void Main(string[] args)

            {

                int x = 40;

                GetAString firstStringMethod = x.ToString;

                Console.WriteLine("String is {0}",firstStringMethod());

             

                Currency balance = new Currency(34, 50);

                firstStringMethod = balance.ToString;

                Console.WriteLine("String is {0}", firstStringMethod());

                firstStringMethod = new GetAString(Currency.GetCurrencyUint);

                Console.WriteLine("String is {0}",firstStringMethod());

            }

        }

    }

    //

     // /* 以下是运行的结果. String is 40 String is ¥34.50 String is 人民币请按任意键继续. . . */

  • 相关阅读:
    AndroidStudio小技巧--依赖库
    仿iOS Segmented Control样式"
    Metaweblog在Android上使用
    正则表达式使用技巧
    flask中gunicorn的使用
    Git用法小记
    指定GPU训练模型
    python中grpc的使用示例
    如何用LaTex编辑数学公式
    keras使用多进程
  • 原文地址:https://www.cnblogs.com/fat_li/p/1863315.html
Copyright © 2020-2023  润新知