【问题标题】:C# abstract class calling base with generics带有泛型的 C# 抽象类调用基
【发布时间】:2012-03-18 02:57:29
【问题描述】:

如果我有以下抽象类:

public abstract class Page<T> where T : class
{
    public Func<T, object> SortBy { get; private set; }

    public Page(Func<T, object> sortBy)
    {
        this.SortBy = sortBy;
    }
}

如何从继承类调用基构造函数?我想做这样的事情:

public class ProductGridPage : Page<ProductGrid>
{
    public ProductGridPage() : base<ProductGrid>(pg => pg.Title)
    { 

    }
}

但是base&lt;ProductGrid&gt;(pg =&gt; pg.Title) 无效并且不会编译。

【问题讨论】:

    标签: c# generics inheritance abstract-class


    【解决方案1】:
    public abstract class Page<T> where T : class 
    { 
        public Func<T, object> SortBy { get; private set; } 
    
        public Page(Func<T, object> sortBy) 
        { 
            this.SortBy = sortBy; 
        } 
    } 
    
    public class ProductGridPage : Page<ProductGrid> 
    { 
        public ProductGridPage() : base(pg => pg.Title) 
        {  
    
        } 
    }
    public class ProductGrid
    {
      public string Title;
    }
    

    【讨论】:

    • 大声笑 - 很简单,谢谢 - 我以为我试过了,但我在两个类中都改变了东西,可能在基类中没有正确的构造函数,谢谢你的帮助 ;-)跨度>
    猜你喜欢
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2013-08-10
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 2021-07-05
    • 2014-03-08
    相关资源
    最近更新 更多