2017-08-07 96 views
0

我正在開發Xamarin Forms跨平臺應用程序與Prism.Forms。 試圖在我的應用程序中使用Prism.Modularity實現模塊化。 除了現有的默認可移植類庫之外,我還創建了幾個模塊(xamarin表單可移植類庫)。現在我必須使用我在App.Xaml.cs中聲明的全局靜態變量(在APP類中)。無論如何,我可以訪問模塊中的當前應用程序?或者有沒有其他的模塊和主要應用程序之間共享數據的選擇。訪問應用程序Xamarin Prism.Forms模塊中的全局變量(Prism.Modularity)

回答

0

與共享服務一樣嗎?

聲明由需要它,在一個模塊中註冊一個實現單所有模塊到達某處的界面...

例子:

public interface ISomeDataProvider 
{ 
    int SomeNumber { get; set; } 
} 

internal class SimpleDataProvider : ISomeDataProvider 
{ 
    public int SomeNumber { get; set; } 
} 

internal class InAModule 
{ 
    public InAModule(ISomeDataProvider dataProvider) 
    { 
     dataProvider.SomeNumber = 1; 
    } 
} 

internal class InAnotherModule 
{ 
    public InAnotherModule(ISomeDataProvider dataProvider) 
    { 
     _dataProvider = dataProvider; 
    } 

    public void PrintSomeNumber() 
    { 
     Console.WriteLine(_dataProvider.SomeNumber.ToString()); 
    } 

    private readonly ISomeDataProvider _dataProvider; 
}