abstract class FeedBase
    {
        public FeedBase() { }
        public FeedBase(string displayName, string url)
            : this(displayName, url, "", 0) { }//这里的this起什么作用?
        public FeedBase(string displayName, string url, string description)
            : this(displayName, url, description, 0) { }}//这里的this起什么作用?
        public FeedBase(string displayName, string url, string description, int clicks)
        {            this.displayName = displayName;
            this.url = url;
            this.description = description;
            this.clicks = clicks;            //用 List<Article> 来保存文章列表
            this.articles = new Dictionary<string, Article>();        }

解决方案 »

  1.   

    this就是FeedBase实例...这里的用法是重载构造函数...
      

  2.   

    C#构造函数,引用父类构造时用base,引用自身重载的构造使用this!
      

  3.   

    public FeedBase(string displayName, string url)
                : this(displayName, url, "", 0) {
             代码1
     }//这里的this起什么作用? 就是本身的构造函数=FeedBase(displayName, url, "", 0)
    如果没有:this(displayName, url, "", 0),
    FeedBase f=new FeedBase(displayname,url)
    执行完代码1 就OK了
    如果有:this(displayName, url, "", 0)
    执行完代码1 后还要执行  构造函数 this(displayName, url, "", 0) 中的代码
     
      

  4.   

    public FeedBase(string displayName, string url, string description)
                : this(displayName, url, description, 0) { }
    构造函数的继承,执行时先执行this(displayName, url, description, 0)这个的构造函数
      

  5.   

    this是当前实例,两个this作用一样
      

  6.   

    注意一个问题,抽象类是不能实例的,也就是说要声明一个FeedBase对象就必须new一个子类来实例化,既然子类继承了FeedBase这个抽象类,用想使用FeedBase()这个方法怎么办?当然要用this来指定在子类中调用的是FeedBase()方法
      

  7.   

    (1)在类的构造函数中出现的this作为一个值类型,它表示对正在构造的对象本身的引 用。 (2)在类的方法中出现的this作为一个值类型,表示对调用该方法的对象的引用。 (3)在结构的构造函数中出现的this作为一个变量类型,表示对正在构造的结构的引用。 (4)在结构的方法中出现this作为一个变量类型,表示对调用该方法的结构的引用。
      

  8.   

    引用父类构造时用base,引用自身重载的构造使用this!
      

  9.   

     public FeedBase(string displayName, string url) 
                : this(displayName, url, "", 0) {        
     public FeedBase(string displayName, string url, string description) 
                : this(displayName, url, description, 0) { }
    this表示对正在构造的结构的引用,当入参只有两个时,第三个入参默认值为“”,第四个入参默认值为0