您的位置:首页 > 编程语言 > C#

C#语言未来需要支持的新功能

2008-12-17 22:48 387 查看
我们知道,定义一个类时是可以从另一个类继承的,并且还能同时继承自若干个接口。但这些接口必须是已存在的,并且从接口的继承只能是静态的。在现实世界里,我们有必要为类动态的新增接口,这就是未来的C#语言应当支持的功能。

比如下面的示例代码——

public class SpecialException : Exception, ICloneable

{

public int[] ErrorCodes;

public objct Clone()

{

SpecialException clone = new SpecialException();

if (this.ErrorCodes != null)

{

clone.ErrorCodes = (int[])this.ErrorCodes.Clone();

}

return clone;

}

}

其中,SpecialException主要从Exception继承,同时增加了对ICloneable接口的支持。

现在有一个典型的需求,假如有一个已知的类SpecialException继承自Exception,但是并没有支持ICloneable接口。

此时,我们希望为SpecialException增加ICloneable接口(注意,不能修改SpecialException的源代码),但是C#语言无法做到。

在C#最新的版本中,已经能够在不修改类的源代码的前提下为类新增实例方法。所以,C#有理由支持为类新增接口的功能,并且新增接口之后,编译器还应尽可能的将类“当做”该接口的子类来处理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐