c# - parameter - wpf lambda expression




我怎樣才能從一個方法返回一個匿名類型? (3)

一個通用的方法應該給你intellisense:

public class MyType {Key{get;set;} Value{get;set}}

public IQueryable<T> GetSomeData<T>() where T : MyType, new() 
 { return from a in db.MyTable
          where a.MyValue == "A" 
          select new T {Key=a.Key,Value=a.MyValue};
 }

我有一個Linq查詢,我想從多個地方調用:

var myData = from a in db.MyTable
             where a.MyValue == "A"
             select new  {
                            a.Key,
                            a.MyValue
                          };

我怎樣才能創建一個方法,把這個代碼放在裡面,然後調用它呢?

public  ???  GetSomeData()
{
   // my Linq query
}

IQueryable和IEnumerable都可以工作。 但是你想使用類型特定的版本,IQueryable < T >或IEnumerable < T >

所以你要創建一個類型來保存數據。

var myData = from a in db.MyTable
             where a.MyValue == "A"
             select new MyType
             {
                 Key = a.Key,
                 Value = a.MyValue
             };

如果你想返回,你需要一個類型。

而不是var ,使用IEnumerable<>聲明並返回該變量。 遍歷它實際上執行查詢。





parameter-passing