我是Xamarin的新手。试图建立一个登录页,但当访问连接到sqlite时发生错误。对象变量未设置为对象的示例。
_SQLiteConnection = DependencyService.Get<ISQLiteInterface>().GetSQLiteConnection();
这是显示错误的一行
我做了一个ISQLiteConnection接口
public interface ISQLiteConnection
{
SQLiteConnection GetSQLiteConnection();
}
这就是我实现ISQLiteConnection的方式
[assembly: Dependency(typeof(GetSQLiteConnnection))]
namespace SqliteLoginDemo.Droid.Dependencies
{
public class GetSQLiteConnnection : ISQLiteConnection
{
public SQLite.Net.SQLiteConnection GetSQLiteConnection()
{
var fileName = "UserDatabase.db3";
var documentPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentPath, fileName);
var platform = new SQLite.Net.Platform.XamarinAndroid.SQLitePlatformAndroid();
var connection = new SQLiteConnection(platform, path);
return connection;
}
}
}
1条答案
按热度按时间von4xj4u1#
当您尝试访问当前为
null
或未初始化的对象上的方法或属性时,通常会出现错误消息“Object variable not set to an instance of an object”。我认为在您的例子中,错误可能是因为DependencyService.Get<ISQLiteInterface>()
调用返回null
,然后您试图在null对象上调用GetSQLiteConnection()
方法。确保您有
ISQLiteInterface
的正确实现。例如,在项目中,您应该有一个实现ISQLiteInterface
并提供GetSQLiteConnection()
实现的类。