我有一些方法,例如:
public VAR GetAllPosts()
{
var post = from p in _db.Posts select p;
return post;
}
如何返回 var 类型的变量?
我有一些方法,例如:
public VAR GetAllPosts()
{
var post = from p in _db.Posts select p;
return post;
}
如何返回 var 类型的变量?
您可以拥有它object
,但是您仍然必须强制转换它才能正确使用它。dynamic
是另一种选择,但可能比它的价值更麻烦。
我想你可能想要IQueryable<T>
的T
是Posts
.
根据您的代码,您知道它将是 Posts 的枚举,所以返回
public IEnumerable<Posts> GetAllPosts()
{
var post = from p in _db.Posts select p;
return post;
}
或者
public IEnumerable<Posts> GetAllPosts()
{
return from p in _db.Posts select p;
}
如果你想硬核,你可以使用这样的东西,这是 T 的泛型类型,你必须调用具有所需类型的方法,并在其中验证类型并做你喜欢的事情。
public List<T> GetData<T>()
{
//Validate the type and do something
if (typeof(T) == typeof(MyClass))
{
List<MyClass> lst = new List<MyClass>();
lst.Add(new MyClass { ClassProperty = "Value" });
return lst as List<T>;
}
else // do something else
{
return null;
}
}
要调用此方法,您需要传递正确的类型
List<MyClass> list = GetData<MyClass>();
希望能帮助到你。
var
不是类型,所以不能返回。
如果您不确定返回类型,请返回object
(如 Daniel 建议的那样),如果它可以多于一种类型,请返回其基本类型(如果有)。
在您的具体情况下,您似乎正试图IEnumerable<T>
返回_db.Posts