如何将IEnumerable类型作为对象返回

时间:2013-03-13 07:02:02

标签: c# oop ienumerable var

我有一个var(IEnumerable),我想返回一个类。

public Myclass method(string str)
    {
        ...................
        var p1 = some data;
        return ?            
    }

public class Myclass
{
    public string a { get; set; }
    public string b { get; set; }
    public bool c { get; set; }
    ...........................
}

我的目的是通过webAPI返回值。要作为webAPI返回,我创建了一个模型类,它包含了我想通过webAPI返回的变量 - 即'Myclass'

4 个答案:

答案 0 :(得分:1)

更新以返回IEnumerable类型

public List<Myclass> method(string str)
{
 var p1 = new MyClass();
 return p1.ToList();
}

使用c#

中已有的typeof(boject)

你也可以这样做Type t = t1.GetType();

在此之后,您可以获得类似此MessageBox.Show(t.FullName);

的全名

对于您的代码,p1在返回时应该是MyClass类型

public Myclass method(string str)
{
 var p1 = new MyClass();
 return p1;
}
需要记下的事项

var类型,可转换为您指定的类型。

From MSDN var

隐式类型化的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。 i的以下两个声明在功能上是等效的:

var i = 10; // implicitly typed
int i = 10; //explicitly typed

答案 1 :(得分:1)

实际上,var不是类型,而是关键字,C#是静态类型的,这意味着编译器将运行在您的程序上,并且每个var决定它的真实类型

所以对于你的问题,你已经知道你需要做的一些数据的类型只是把它写成返回类型(不要懒惰:))

详细了解问题here

答案 2 :(得分:0)

var只是一个简短的手工作业。 var总是有类型。

<强> var

  

隐式类型的局部变量是强类型的,就像你一样   我自己声明了类型,但编译器确定了类型。

您可以返回对象。如果您不确定DataType

答案 3 :(得分:0)

@mike z在他的评论中是正确的:'var'成为其作业的类型。所以,如果你这样做,它将起作用:

var result = new MyClass();
return result;