我正在使用 Prism.Forms 开发 Xamarin Forms 跨平台应用程序。尝试使用 Prism.Modularity 在我的应用程序中实现模块化。除了现有的默认可移植类库之外,我还创建了几个模块(xamarin 形式的可移植类库)。现在我必须使用我在模块的 App.Xaml.cs(在 APP 类中)中声明的全局静态变量。无论如何我可以访问模块中的当前应用程序吗?或者是否有任何替代方法可以在模块和主 App 之间共享数据。
问问题
720 次
1 回答
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;
}
于 2017-08-07T17:19:17.523 回答