为什么我得到“;非静态字段、方法或属性需要对象引用';Photrax.App.DBPath.get'&”;
本文关键字:对象引用 Photrax DBPath App 属性 get 静态 方法 字段 为什么 | 更新日期: 2023-09-27 18:27:00
利用这里的代码,我将其添加到App.xaml.cs:中
sealed partial class App : Application
{
public string DBPath { get; set; }
public App()
{
this.InitializeComponent();
this.Suspending += OnSuspending;
}
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
. . .
this.DBPath = Path.Combine(
Windows.Storage.ApplicationData.Current.LocalFolder.Path, "photrax.sqlite");
. . .
但是这个代码:
internal static List<PhotraxBaseData> SavePhotoset(List<PhotraxExifData> exifData)
{
using (var db = new SQLite.SQLiteConnection(App.DBPath))
. . .
失败,"非静态字段、方法或属性'Photrax.App.DBPath.get'需要对象引用"
Photrax是我项目的名称空间;但是附加的"get"爵士乐是怎么回事?
我需要做什么才能为SQLiteConnection构造函数提供所谓的全局数据库路径?
DBPath
是App
的非静态属性。为了访问它,您需要一个App
的实例。您正试图像访问静态属性一样访问它。
如果数据库的路径在应用程序中没有更改(例如,您没有多个数据库,每个数据库都由不同的App
实例引用,则可以考虑将该属性设置为静态。