初学C#的问题,望大家发言解惑
1.组件是什么?什么样的一段程序算是一个组件
2.当一个类的定义中包含另一个类时,创建外部类时,内部类是否创建?比如:
class A
{
。。。
B a;
}
A a=new A;
B的对象是否会创建,即B的构造函数是否会调用
3.virtual函数是从直接基类中继承,还是从virtual函数(同名)的最初定义的类处继承,假设已有派生类重写virtual函数了,比如:
class base
{
virtual void vf()
{}
}
class d1: base
{
override void vf()
{}
}
class d2:d1
{}
那么d2中的vf是来自base还是d1.
4.c++中,基类指针和派生类指针是可以互相转化的,派生类的可直接付给基类(隐式转换),基类的可强制类型转换赋给派生类的指针。c#中这种情况下的转化规则是什么呢?当类派生自接口类时又是怎样的呢?
5.同一类不同对象的同名事件是否可以委派不同的处理方法?即委派的处理方法是针对对象的还是针对类的
6.接收基类对象参数的地方,是否可以以派生类对象传入?
7.调用BeginXX(如accept,recevie等)将开始新的线程,这个线程是属于用户线程还是系统线程?它的启动和结束如何管理,如果socket调用了shutdown或close,由它开始的接收或发送线程是否会立即结束?
8.使用异步socket时,调用了BeginXX会开始一个新线程,比如BeginReceive,系统会在新线程中调用BeginReceive的回调函数。请问这个回调函数是在收到信息时调用,还是在BeginReceive结束后立即创建系统线程,此线程执行回调函数?
如果是前者,msdn上的系统接受线程在EndReceive上阻塞是什么意思?
希望高手予以解惑,回答部分问题也可