《C# to IL》第四章 关键字和操作符(下)
2009-06-03 08:30:36 来源:WEB开发网在上面的例子中,类xxx不再从类yyy中派生。它们都是从Object类中派生的。但是,我们可以把类yyy转换为类xxx。在带有构造函数的类xxx中不会生成任何错误,但是如果移除了这个构造函数,就会生成异常。IL还具有它自己的独特工作方式。
a.il
.assembly mukhi {}
.class private auto ansi sealed zzz extends [mscorlib]System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
ret
}
}
.class private auto ansi yyy extends zzz
{
}
文档非常清晰地表示了一个密闭类不能被进一步扩展或子类化。在这个例子中,我们希望看到一个错误但是什么也不会生成。必须提醒你的是,我们现在使用的是beta版本。下一个版本可能会生成一个错误。
a.il
.assembly mukhi {}
.class private auto ansi zzz extends [mscorlib]System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
.locals (class yyy V_0)
newobj instance void yyy::.ctor()
stloc.0
ret
}
}
.class private auto ansi abstract yyy
{
}
抽象类不能被直接使用。只能从中派生。上面的代码应该生成一个错误,但并不是这样。
a.cs
public class zzz
{
const int i = 10;
public static void Main()
{
System.Console.WriteLine(i);
}
}
a.il
.assembly mukhi {}
.class private auto ansi zzz extends [mscorlib]System.Object
{
.method public hidebysig static void vijay() il managed
{
.entrypoint
ldc.i4.s 10
call void [mscorlib]System.Console::WriteLine(int32)
ret
ret
}
}
- ››Illustrator CS6 打造孔雀花纹的字体
- ››TOscilloscope 仿Windows任务管理器CPU使用记录组...
- ››Illustrator教程:设计制作几何花瓣LOGO
- ››Illustrator实例教程:漂亮证卡变幻线的制作
- ››Illustrator文字教程:制作漂亮质感描边字
- ››Illustrator鼠绘:渐变工具运用绘制金属闹钟
- ››Illustrator鼠绘:教你画一个可爱卡通宝宝教程
- ››Illustrator简单四步做透明气泡教程
- ››Illustrator教程:制作漂亮的新货吊牌
- ››Illustrator教程:改变圆角矩形中一个圆角半径
- ››Illustrator教程:如何用网格工具绘制花瓣
- ››Illustrator涂抹命令打造文字草图特效
更多精彩
赞助商链接