繁体   English   中英

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

[英]How to return IEnumerable type as object

我有一个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'

更新以返回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 type varirable是转换为你指定的类型。

来自MSDN var

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

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

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

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

这里阅读更多有关此问题的信息

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

var

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

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

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

var result = new MyClass();
return result;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM