首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET Framework >

System.MulticastDelegate怎么继承

2011-12-20 
System.MulticastDelegate如何继承MulticastDelegate是抽象类,为什么不可以继承它,有什么方法可以继承吗?M

System.MulticastDelegate如何继承
MulticastDelegate是抽象类,为什么不可以继承它,有什么方法可以继承吗?
MSDN上说不能显式地从此类进行派生

[解决办法]
支持,这都被你发现了
[解决办法]
这个类是受系统保护的,和平台架构有关系类。
我想如同java的string重载了加号运算符但java开发者却不能进行运算符重载一样,.net平台也有其自身实现但不允许开发者用的功能。

这些类也可能不是跑在CLR上的,也就是说是用C++之类的语言开发的。
[解决办法]
MSDN说:
MulticastDelegate 是一个特殊类。编译器和其他工具可以从此类派生,但是您不能显式地从此类进行派生。Delegate 类也是如此。


[解决办法]
使用CIL可以实现,C#编译器不可以。建议看下这个
http://wenku.baidu.com/view/c3bb46ee4afe04a1b071deff.html
[解决办法]
使用delegate定义委托其实就是在继承MulticastDelegate类,因为委托本质上就是一个类
[解决办法]

探讨
 MulticastDelegate的作用相当于C/C++中函数指针。但是需要注意的是MulticastDelegate在C#源代码中是不可被继承的,它只能在IL中被继承。使用IL生成的代码被译成C#源码如下如示:

public sealed class Method_delegate : MulticastDelegate
{
public Method_delegate(obj……

热点排行