2017-04-25 208 views
-1

我有這種類型的變量:方法,返回匿名類型C#

enter image description here

我應該寫我的方法是什麼樣的回報類型的?我寫了object但它沒有解決。謝謝。

編輯:

我做了這樣的類:

public class IlIlceTarife 
{ 
    public string Il { get; set; } 
    public string Ilce { get; set; } 
    public string Tarife { get; set; } 
} 

public class a 
{ 
    public IlIlceTarife Name { get; set; } 
    public int Sayi { get; set; } 
} 

而且我做的返回類型爲這樣:

public List<IEnumerable<a>> TarifeGiver1(string il, string ilce) 

而且VS給了這個錯誤:

> Cannot implicitly convert type 
> 'System.Collections.Generic.List<System.Collections.Generic.IEnumerable<<anonymous 
> type: <anonymous type: string Il, string Ilce, string Tarife> Name, 
> int Sayi>>>' to 
> 'System.Collections.Generic.List<System.Collections.Generic.IEnumerable<WebApplication2.Controllers.a>>' 
+0

編寫類來代替。 –

+1

爲什麼你給一個班級一個名字'a'?這是我可以想象得出的最無名的名字 –

+0

@TimSchmelter我以後會改變它。只是寫了很快。 – jason

回答

0

你不應該返回一個一致的類型。相反,您應該創建一個常規命名類並將其用作返回類型。

匿名類型都不錯時,他們的範圍僅僅是方法本身裏面。在方法之外他們沒有用處。例如,如果他們的定義不公開?唯一的解決方案是創建一個類。

如果你仍然想要返回一個匿名類型,你應該返回objectdynamic,我對使用它作爲返回類型並不滿意。


關於你的更新:你必須在初始化實例的代碼中使用命名類型(可能是LINQ)。 C#不會自動將匿名類型轉換爲命名類型。

+0

請參閱我的編輯。我已經完成了你所說的,但它給了錯誤。 – jason

+0

查看我的更新... –

+0

正如蒂姆所說:給班級一個真實的名字。 –