I имеют некоторый метод, например:возвращения вар типа переменной
public VAR GetAllPosts()
{
var post = from p in _db.Posts select p;
return post;
}
Как переменный возврат вар типа?
I имеют некоторый метод, например:возвращения вар типа переменной
public VAR GetAllPosts()
{
var post = from p in _db.Posts select p;
return post;
}
Как переменный возврат вар типа?
На основе вашего кода, вы знаете, что это будет перечень сообщений, так что вернуть
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;
}
Если вы хотите пойти хардкор вы могли бы использовать что-то Лик e это, это общий тип 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>();
Надеется, что это помогает.
Thanx, я сделал это уже – user1271127
У вас может быть это object
, однако вам все равно придется бросать его, чтобы использовать его соответствующим образом. dynamic
- еще один вариант, но может быть больше проблем, чем его ценность.
Я думаю, что вы можете захотеть, это IQueryable<T>
, где T
- это тип Posts
.
var
не является типом, поэтому его нельзя вернуть.
Если вы не уверены в обратном типе, верните object
(как предполагает Даниэль), если он может быть более одного типа, верните базовый тип, если он есть.
В вашем конкретном случае, кажется, что вы пытаетесь вернуть IEnumerable<T>
объектов в _db.Posts
Невозможно сделать. Посмотрите, какой тип var и возвращает это, или измените запрос, чтобы вернуть тип, который вы можете использовать. – Rawling