C#面试随笔

1、接口中抽象方法不能有任何修饰符,只有返回值、接口名和参数组成。所以不能用public、private、static等修饰.
2、接口方法有两种实现方式,显式和隐式。
  假如有接口如下
  Interface IFace
  {
    int Add(int a,int b);
  }
  a)隐式实现
  public int Add(int a,int b)
  {
    return a+b;
  }
  隐式实现方法只能是public,且不能用static修饰,即接口方法不能是静态的.
  b)显式实现
  int IFace.Add(int a,int b)
  {
    return a+b;
  }
  显示实现的方法是private类型,但是又不能用private、public、static等修饰
3、实现接口的类或结构要与接口的定义严格一致。接口描述可属于任何类或结构的一组相关行为。接口可由方法、属性、事件、索引器或这4种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共的。
4、索引器
[修饰符] 数据类型 this[索引类型 index]
{
    get{//获得属性的代码}                                                 
    set{ //设置属性的代码}
}
修饰符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,extern.
数据类型是表示将要存取的数组或集合元素的类型。
索引器类型表示该索引器使用哪一类型的索引来存取数组或集合元素,可以是整数,可以是字符串;this表示操作本对象的数组或集合成员,可以简单把它理解成索引器的名字,因此索引器不能具有用户定义的名称
5、在接口中也可以声明索引器,接口索引器与类索引器的区别有两个:一是接口索引器不使用修饰符;二是接口索引器只包含访问器getset,没有实现语句。访问器的用途是指示索引器是可读写、只读还是只写的,如果是可读写的,访问器getset均不能省略;如果只读的,省略set访问器;如果是只写的,省略get访问器。
6、索引器与属性都是类的成员,语法上非常相似。索引器一般用在自定义的集合类中
参考自:http://blog.csdn.net/lxf544207706/article/details/6510119   http://www.cnblogs.com/zhangzheny/archive/2007/12/24/1012790.html
7、接口中只能包括方法,属性,索引器,事件,且都默认被定义为public,但在实现类中显式实现时,是private类型,接口中成员都不能是static类型,所以在实现时,也不能是static,虽然方法、属性、事件在类中定义时可以定义成static类型,但是如果是从接口中继承实现的方法、属性、事件,不能用static修饰。

posted @ 2013-07-13 14:01  liancs  阅读(163)  评论(0编辑  收藏  举报