DbLogic d=new DbLogic();
d.T = typeof(某个类型);//或d.T = 某个对象.GetType();
某个类型 list = d.GetDataByFilter();

解决方案 »

  1.   

    你这样子是调用呀。
    我要解决。public List <T> GetDataByFilter 报错" T  is a 'property' but is used like a 'type'". 
    这个报错问题呀。
      

  2.   

    命名冲突public Type T 
            { 
                set; 
                get; 
            } =>public Type T1 
            { 
                set; 
                get; 
            } 
      

  3.   

    T是属性,当作类型使用
    List <TT> GetDataByFilter
      

  4.   


     public List <Type> GetDataByFilter(string filter, int RecordPerPage, int fromRecord) 
            { 
                if (dbDC == null) dbDC = new DbControlDataContext(); 
                return dbDC.ExecuteQuery <T>("Select * from " + TableName + " where " + filter).Skip(fromRecord).Take(RecordPerPage).ToList(); 
            } 
      

  5.   

    可能是 List <T>
    和 Type T冲突了
      

  6.   

    大家误会了, 我这个类的意思是. 当用用户使用这个类时, 传入一个Type属性.
    然后.public List <T> GetDataByFilter(string filter, int RecordPerPage, int fromRecord)
    该方法就返回这个Type的List.
    例如, 该Type属性传入一个int型.
    而GetDataByFilter,就返回list<int>
      

  7.   


    public class DbLogic<T>
        { 
            private DbControlDataContext dbDC = new DbControlDataContext(); 
            
            public string TableName 
            { 
                set; 
                get; 
            }         public List <T> GetDataByFilter(string filter, int RecordPerPage, int fromRecord) 
            { 
                if (dbDC == null) dbDC = new DbControlDataContext(); 
                return dbDC.ExecuteQuery <T>("Select * from " + TableName + " where " + filter).Skip(fromRecord).Take(RecordPerPage).ToList(); 
            } 
        } 
      

  8.   

    我看明明是你思路有问题,T这个东东既然你当作Type类型的属性,应该是不能放到List<>中的。我看你还是老老实实的用楼上的吧!
      

  9.   

    但是如上所说:
    <asp:ObjectDataSource ID="odsData" runat="server" EnablePaging="True"  TypeName="DbOperation.DbLogic<DbOperation.CustInfo>"
            MaximumRowsParameterName="RecordPerPage"
            StartRowIndexParameterName="fromRecord"
            SelectCountMethod="FindDataCount"
            SelectMethod="GetDataByFilter">
                <SelectParameters>
                    <asp:ControlParameter ControlID="hfFilter" Name="filter" PropertyName="Value" Type="String" />
                </SelectParameters>
                        </asp:ObjectDataSource>  
            
    ObjectDataSource  去引用时, 却报错.引不到TypeName.
      

  10.   

    用泛型方法吧:
    public List <T> GetDataByFilter<T>(string filter, int RecordPerPage, int fromRecord)

      if (dbDC == null) 
        dbDC = new DbControlDataContext(); 
      return dbDC.ExecuteQuery <T>("Select * from " + TableName + " where " + filter).Skip(fromRecord).Take(RecordPerPage).ToList(); 
    }不知道是否符合lz的题意反正泛型应该不是lz这样用的