2014-10-18 94 views
-1

利用代码here,我已将此添加App.xaml.cs:为什么我得到“非静态字段,方法或属性'Photrax.App.DBPath.get'需要对象引用?

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构造函数提供所谓的全局数据库路径?

+1

会尽力搜索错误消息 – user2864740 2014-10-18 00:04:14

+0

http://stackoverflow.com/questions/2051558/an-object-reference-is-required-for-the-non-static-field-method-or-property – user2864740 2014-10-18 00:05:07

回答

1

DBPathApp的非静态属性。为了访问它,你需要一个App的实例。您正尝试像访问静态属性一样访问它。

如果路径DB不会在你的应用程序中更改(例如,您不必多个数据库,每个由App不同的实例引用,您可以考虑让该属性是静态的。

+0

好的;我在想“应用程序”会是“永远在身边”。是的,我把它变成了静态的。 – 2014-10-18 00:05:10

相关问题