没有装箱或类型参数转换错误

时间:2014-12-15 17:49:25

标签: c# sqlite generics xamarin.forms

我有一个使用Xamarin.Forms的移动PCL项目。在PCL中,我有各种SQLite类和一个SQLite数据库助手类(称为DBManager)。在平台部分中,我将实例创建到数据库(因为它使用PCL中不支持的文件系统)。该实例有一个接口来获取连接字符串和连接。

平台部件的界面称为IDatabaseConnection

我的每个Sqlite类都有一个名为IDatabase的接口。这允许我使用我知道的属性(如

)创建一组泛型方法
    public static List<T> GetListOfObjects<T>() where T:IDatabase, new()
    {
        var data = App.Singleton.DBManager.GetListOfObjects<T>();
        return data.ToList();
    }

我在非PCL项目中经常使用该课程,我知道这很好。

问题是我收到以下错误

The type 'T' cannot be used as type parameter 'T' in the generic type or method 'MyMobileApp.DBManager.GetListOfObjects<T>()'. There is no boxing or type parameter conversion from 'T' to 'MyMobileApp.IDatabaseConnection'

这是使用IDatabaseConnection在非PCL部分中的DBManager,如果是,是否有解决方案以便我仍然可以使用我的通用帮助类方法?

0 个答案:

没有答案