我有一个名为ProgramE的类,它是DataAccess的子类。我怎样才能创建一个返回调用类类型的泛型方法?
这是DataAccess类中的代码。
public MongoCursor<DataAccess> GetAll(QueryComplete query)
{
MongoServer server = MongoServer.Create(C.connectionString);
MongoDatabase db = server.GetDatabase(C.database);
MongoCollection<DataAccess> collection = db.GetCollection<DataAccess>(_collectionName);
var result = collection.FindAs<DataAccess>(query);
return result;
}
这是我想要做的。我收到这个错误。 “无法将类型'System.Collections.Generic.List'隐式转换为'System.Collections.Generic.List'”
ProgramE p = new ProgramE();
QueryComplete query = Query.EQ("InstalledOn.SystemID", audit.SystemID);
List<ProgramE> ServerPrograms = p.GetAll(query).ToList();
答案 0 :(得分:1)
这样的事情对你有用吗?
public MongoCursor<T> GetAll<T>(QueryComplete query) where T : DataAccess {
MongoServer server = MongoServer.Create(C.connectionString);
MongoDatabase db = server.GetDatabase(C.database);
MongoCollection<T> collection = db.GetCollection<T>(_collectionName);
return collection.FindAs<T>(query);
}
List<ProgramE> ServerPrograms = p.GetAll<ProgramE>(query).ToList();