C#中的自定义结构转换操作符的定义方法

using System;
struct Digit
{
   byte value;
   public Digit(byte value)
   {
      if (value>9) throw new ArgumentException();
      this.value = value;
   }

   // define explicit byte-to-Digit conversion operator:
   public static explicit operator Digit(byte b)
   {
      Digit d = new Digit(b);   
      Console.WriteLine("conversion occurred");
      return d;
   }
}

class Test
{
   public static void Main()
   {
     try
      {
      byte b = 3;
      Digit d = (Digit)b; // explicit conversion
      }

      catch (Exception e)
      {
         Console.WriteLine("{0} Exception caught.", e);
      }
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值