返回匿名类型C#的方法

时间:2017-04-25 07:33:53

标签: 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>>'

1 个答案:

答案 0 :(得分:0)

您不应该返回匿名类型。相反,您应该创建一个常规的命名类,并将其用作返回类型。

当范围就在方法本身内部时,匿名类型是好的。它们在方法之外没有用处。例如,如果他们的定义不公开,你会如何知道属性名称?唯一的解决方案是创建一个类。

如果你仍然想要返回一个匿名类型,你应该返回objectdynamic,我不是很高兴将其用作返回类型。

关于您的更新:您还必须在初始化实例的代码中使用命名类型(可能是LINQ)。 C#不会自动将匿名类型转换为命名类型。