实在不好意思,今天才发现博客园电子期刊第一期.马上下了一个回来拜读.相见恨晚呀.
篇篇精彩,一个也没有错过.
但是我在看这篇文章<<关于枚举的种种>>时,发现一个小错误.请看文章中的一段代码:
// Code #13
// See Code #01 for Alignment.
public static void Main()
{
IConvertible ic = (IConvertible)Alignment.Center;
int i = ic.ToInt32(null);
Console.WriteLine("The value of Alignment.Center is {0}.", i);
}
// Output:
// The value of Alignment.Center is 1.
这段代码编译会出错误.系统是无法将类型“Alignment”转换为“System.IConvertible”
我们都知道枚举是值类型,枚举的父类是System.Enum,它是一个抽象类.引用类型.
它实现了3个接口IConvertible,IComparable, IFormattable
所以我认为正确代码:
IConvertible ic = (System.Enum)Alignment.Center;
int i = ic.ToInt32(null);
Console.WriteLine("The value of Alignment.Center is {0}.", i);
说明:应该把枚举先装箱为它的父类,再调用父类的接口方法.
同时我用.net reflector看了IL代码,证明我的想法是正确的.
.method private hidebysig static void Main(string[] args) cil managed
{
.custom instance void [mscorlib]System.STAThreadAttribute::.ctor()
.entrypoint
// Code Size: 32 byte(s)
.maxstack 2
.locals (
[mscorlib]System.IConvertible convertible1,
int32 num1)
L_0000: ldc.i4.1
L_0001: box ConsoleApplication1.Alignment
L_0006: stloc.0
L_0007: ldloc.0
L_0008: ldnull
L_0009: callvirt instance int32 [mscorlib]System.IConvertible::ToInt32([mscorlib]System.IFormatProvider)
L_000e: stloc.1
L_000f: ldstr "The value of Alignment.Center is {0}."
L_0014: ldloc.1
L_0015: box int32
L_001a: call void [mscorlib]System.Console::WriteLine(string, object)
L_001f: ret
}
但是我看它转化后的C#代码:
private static void Main(string[] args)
{
IConvertible convertible1 = Alignment.Center;
int num1 = convertible1.ToInt32(null);
Console.WriteLine("The value of Alignment.Center is {0}.", num1);
}
说明:IConvertible convertible1 = Alignment.Center,这句怎么能通过?没有明白,希望有人能够指导.
最后祝福博客园电子期刊红火起来.
"质量第一"是我们出刊的中心原则,希望质量能更上一层楼.
分享到:
相关推荐
《Flash游戏——虫虫大战(Bug War)》是一款深受玩家喜爱的在线小游戏,它由两个部分组成:Bug War 1 和 Bug War 2。这两款游戏以其独特的策略性、精美的图形设计和丰富的游戏玩法吸引了大量的游戏爱好者。下面将...
在IT领域,“虫虫”这个词可能指的是软件漏洞(bug)或者某种特定的编程概念。然而,由于信息有限,我们需要依赖压缩包内的文件名来进一步推测可能的知识点。 根据提供的"能注册成功"这一条文件名,我们可以做出...
开发者可能还修复了一些已知的bug,提高了应用的稳定性。 综上所述,《虫虫钢琴琴谱大全 v3.9.2》作为一款教育学习应用,不仅提供了全面的钢琴琴谱资源,还融入了智能化、社交化和个性化的学习元素,旨在打造一个...
在虫虫加载特效中,可能有一个名为`bug-animation`的动画定义,它控制虫虫从初始位置旋转到某一角度,然后反向旋转回来,如此反复,形成持续的动画效果。 ```css @keyframes bug-animation { 0% { transform: ...
下来大概看了看,貌似使用起来不太方便,曾经用过ASTA和RmoObject,都不是那么让人满意,BUG多,并且庞大需要安装,使用十分不方便。 为了继续支持我喜欢的DELPHI和可爱的盒子, 特发布个自己写的远程数据库对象希望...
下来大概看了看,貌似使用起来不太方便,曾经用过ASTA和RmoObject,都不是那么让人满意,BUG多,并且庞大需要安装,使用十分不方便。 为了继续支持我喜欢的DELPHI和可爱的盒子, 特发布个自己写的远程数据库对象希望...
虫虫同学录(Lb_Class)V1.1元旦特别版 权力与义务: 1.你可以免费无期限地使用此同学录 2.未经许可不得修改程序版权 3.可以免费分发此程序源码,但最好通知本人 4.允许修改本程序除版权外的源码,但必需在程序后注明...
虫虫赏金虫 Google Dorks列表,用于搜索拥有负责任的披露程序或Bug赏金计划的公司,这些公司与已知的Bug赏金平台(例如HackerOne或Bugcrowd)无关。 拉请求是欢迎的! 有些傻瓜来自Nightwatch Cybersecurity ...
Bug war 1,2 虫虫大战 Electric Box 1,2 电箱 Kingdom Rush v1.07 王国保卫战v1.07 Mamono Slayer 城堡探险 On the Edge 站在世界的尽头 第二集 9个 XENO TACTIC 机动炮塔防御战 BOWJA THE NINJA 1,2,3(上,下) ...
Bug war 1,2 虫虫大战 Electric Box 1,2 电箱 Kingdom Rush v1.07 王国保卫战v1.07 Mamono Slayer 城堡探险 On the Edge 站在世界的尽头 第二集 9个 XENO TACTIC 机动炮塔防御战 BOWJA THE NINJA 1,2,3(上,下) ...
Bug war 1,2 虫虫大战 Electric Box 1,2 电箱 Kingdom Rush v1.07 王国保卫战v1.07 Mamono Slayer 城堡探险 On the Edge 站在世界的尽头 第二集 9个 XENO TACTIC 机动炮塔防御战 BOWJA THE NINJA 1,2,3(上,下) ...
3、修复小bug,虫虫都消灭! 赶快加入我们吧,美丽心情随心贴,跟【美颜相机】一起使用,让你更加美丽动人哟! ·官方网站:tietie.meitu.com ·您可以在新浪微博搜索“美图贴贴”找到我们! ·如果...
虫虫(Bug),人员名单,个人身份证明书和“相交观察员”佩罗·沃勒夫(Petro Vuelve)的犯罪者符合hagamos滚动。除错Visita el sitio网站: ://100tifi.co安装npm installEjecución npm run startDocumentación...
2.9.9更新,修复了一些页面404的bug 1、支付更新 增加支付宝当面付(需要再支付宝商户中签约了当面付,然后在支付设置->支付宝设置中启用当面付即可) 增加了 payjs 微信内部直接发起支付,不用扫码 上面两个更新...
星尘UI是枫瑞博客网...2.个人中心bug 3.海报 4.专题移除阴影,删除无用的订阅 5.登录弹窗美化 6.移除博客相关字眼 7.关链微信公众号主键自动中间位置 8.列表动画 9.修复首次大家 引导收藏位置错乱 10.新增小程序跳转
【ripro7.2主题美化】全站美化包WordPress RiPro主题二开美化版hu-childV1.9(功能集成到后台) 本子主题美化包无加密无授权无暗链,使用本美化包前请先下载...1、评论在普通文章不显示bug修复 2、更新兼容7.2版本
用户可以通过阅读这个文件来了解新版本带来了哪些改进,比如新功能的详细描述、已解决的bug列表、性能提升的具体数据等。这对于开发者和系统管理员来说非常重要,因为他们需要了解这些变动以便于决定是否升级,以及...