これと同様の質問が何度も寄せられ、何度も回答されていることを理解しています。
この例外がたまにしか発生しないという奇妙な問題があります。パターンがないと矛盾し、ランダムに発生します。
例外: NullReferenceException は処理されませんでした テキスト: オブジェクト参照がオブジェクトのインスタンスに設定されていません。
例外が発生する行:
var query = conn.Table<Items>();
conn は SQLiteAsyncConnection("items.db"); を参照します。アイテムは、データベース モデルを含む別のクラスを参照します。
どこが間違っていますか?ほとんどの場合、コードは機能するのに、ときどきランダムにクラッシュするのはなぜですか? (私は要因を変更しません。アプリケーションを繰り返し開いてコードを再度実行するだけです)
NUGET から入手できる sqlite-net プラグインを使用していることを忘れていました。git はhttps://github.com/praeclarum/sqlite-netにあります。
リクエストに応じて: アイテムのコード (非常に基本的なもの)
public class Items
{
[PrimaryKey, AutoIncrement]
public int Id { get; set; }
[MaxLength(30)]
public string Item { get; set; }
}
完全なメソッドのコード:
private async void ReadData()
{
listdata.Items.Clear();
var query = conn.Table<Items>(); // Exception occurs here
var result = await query.ToListAsync();
foreach (var item in result)
{
listdata.Items.Add(item.Item);
}
}